Фон:
Я пишу тестовий сценарій для програмного забезпечення для обчислювальної біології. Програмне забезпечення, яке я тестую, може зайняти кілька днів або навіть тижнів, тому воно має вбудований функціонал відновлення у разі збоїв системи або збоїв живлення.
Я намагаюся розібратися, як протестувати систему відновлення. Зокрема, я не можу визначити спосіб контрольованим чином "збоїти" програму. Я думав якось приурочити інструкцію SIGKILL до запуску через деякий час. Це, мабуть, не ідеально, оскільки тестовий випадок не гарантовано працювати з однаковою швидкістю кожен раз (він працює в спільному середовищі), тому порівняти журнали з потрібним результатом буде складно.
Це програмне забезпечення НЕ друкує рядок для кожного розділу, який він завершує.
Питання:
Мені було цікаво, чи існує хороший / елегантний спосіб (у сценарії оболонки), щоб захопити вихід з програми, а потім вбити програму, коли заданий рядок / # рядків виводиться програмою?