Possible Duplicate:
Bash script that kills a child process after a given timeout
Is there a way to write a shell script that would execute a certain command for 15 seconds, then kill the command?
I have tried sleep, wait and ping but maybe I am using them wrong.
Use the
timeout
command:Note: on some systems you need to install
coreutils
, on others it's missing or has different command line arguments. See an alternate solution posted by @ArjunShankar . Based on it you can encapsulate that boiler-plate code and create your own portabletimeout
script or small C app that does the same thing.Some machines don't have
timeout
installed/available. In that case, you could background the process; its PID then gets stored as$!
; then sleep for the required amount of time, then kill it:At this URL I find that there are mentioned, more than one solutions to make this happen.