Sfondo:
Sto scrivendo un test script per un pezzo di software di biologia computazionale. Il software che sto testando può richiedere giorni o addirittura settimane per essere eseguito, quindi ha una funzionalità di ripristino integrata, in caso di crash del sistema o interruzioni di corrente.
Sto cercando di capire come testare il sistema di recupero. In particolare, non riesco a capire un modo per "bloccare" il programma in modo controllato. Stavo pensando di programmare in qualche modo un'istruzione SIGKILL da eseguire dopo un certo periodo di tempo. Questo probabilmente non è l'ideale, in quanto il test case non è garantito per funzionare sempre alla stessa velocità (funziona in un ambiente condiviso), quindi sarebbe difficile confrontare i log con l'output desiderato.
Questo software stampa una riga per ogni sezione di analisi che completa.
Domanda:
Mi chiedevo se ci fosse un modo buono / elegante (in uno script di shell) per catturare l'output di un programma e quindi uccidere il programma quando una determinata linea / # di linee viene emessa dal programma?