Tło:
Piszę skrypt testowy dla oprogramowania biologii obliczeniowej. Oprogramowanie, które testuję, może trwać kilka dni, a nawet tygodni, więc ma wbudowane funkcje odzyskiwania w przypadku awarii systemu lub awarii zasilania.
Próbuję wymyślić, jak przetestować system odzyskiwania. W szczególności nie mogę znaleźć sposobu na „zawieszenie” programu w kontrolowany sposób. Zastanawiałem się nad czasem, aby rozkaz SIGKILL działał po pewnym czasie. Prawdopodobnie nie jest to idealne rozwiązanie, ponieważ nie gwarantuje się, że przypadek testowy będzie działał z tą samą prędkością za każdym razem (działa we wspólnym środowisku), więc porównanie dzienników z pożądanymi danymi wyjściowymi byłoby trudne.
To oprogramowanie drukuje wiersz dla każdej sekcji analizy, którą wykonuje.
Pytanie:
Zastanawiałem się, czy istnieje dobry / elegancki sposób (w skrypcie powłoki), aby przechwycić dane wyjściowe z programu, a następnie zabić program, gdy dany wiersz / liczba wierszy jest wysyłana przez program?