I needed to execute a given command for a specified number of seconds on my Linux system. I wasn’t able to find a program for doing that so I ended up writing this little and simple Bash script:
#!/bin/bash cmd=$1 seconds=$2 echo "Executing: ${cmd} for $seconds seconds" $cmd& cmdpid=$! sleep $seconds if [ -d /proc/$cmdpid ] then echo "terminating program PID:$cmdpid" kill $cmdpid fi
If you save this into a file called run_seconds_then_exits.sh you use it with:
bash run_seconds_then_exits.sh "sleep 10" 5
The above will run the command sleep 10 for 5 seconds, then it will send a termination signal (SIGTERM) and the program will be terminated.
See any improvements to the script above? Please leave a comment below and let me know about it!