Antecedentes:
Estoy escribiendo un script de prueba para una pieza de software de biología computacional. El software que estoy probando puede tardar días o incluso semanas en ejecutarse, por lo que tiene una funcionalidad de recuperación incorporada, en caso de fallas del sistema o fallas de energía.
Estoy tratando de descubrir cómo probar el sistema de recuperación. Específicamente, no puedo encontrar una manera de "bloquear" el programa de manera controlada. Estaba pensando de alguna manera cronometrar una instrucción SIGKILL para que se ejecute después de cierto tiempo. Probablemente esto no sea lo ideal, ya que no se garantiza que el caso de prueba funcione siempre a la misma velocidad (se ejecuta en un entorno compartido), por lo que sería difícil comparar los registros con la salida deseada.
Este software imprime una línea para cada sección de análisis que completa.
Pregunta:
Me preguntaba si había una manera buena / elegante (en un script de shell) para capturar la salida de un programa y luego matar el programa cuando el programa genera una línea / # de líneas dada.