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: 204

Filed under:
|
|
|

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

Related posts about linux

Related posts about shell