Kill program after it outputs a given line, from a shell script
Posted
by
Paul
on Super User
See other posts from Super User
or by Paul
Published on 2012-03-20T19:39:09Z
Indexed on
2012/03/20
23:32 UTC
Read the original article
Hit count: 198
Background: I am writing a test script for a piece of computational biology software. The software I am testing can take days or even weeks to run, so it has a recover functionality built in, in the case of system crashes or power failures.
I am trying to figure out how to test the recovery system. Specifically, I can't figure out a way to "crash" the program in a controlled manner. I was thinking of somehow timing a SIGKILL instruction to run after some amount of time. This is probably not ideal, as the test case isn't guaranteed to run the same speed every time (it runs in a shared environment), so comparing the logs to desired output would be difficult.
This software DOES print a line for each section of analysis it completes.
Question: I was wondering if there was a good/elegant way (in a shell script) to capture output from a program and then kill the program when a given line/# of lines is output by the program?
© Super User or respective owner