There are many ways to keep a process running on linux but I haven’t seen any that are as easy to implement as the script below.
Basically the script does a ps ax and then a grep for your process. If it’s not running it will re-start the process.
You install the script into your crontab i.e. crontab -e
As a bonus this mechanism will re-start your process after a re-boot.
Edit your crontab
Cut and paste the following code into your crontab.
*/5 * * * * /home/path_to_the_script/make-run.sh
Make sure the cron entry is pointing to where your make-run.sh is located.
The Bash script
#!/bin/bash # make-run.sh # make sure a process is always running. # Add the following to the crontab (i.e. crontab -e) # */5 * * * * /home/path_to_make_run/make-run.sh process=servermonitoringhq makerun="/home/path_to_the_job_you_want_running/runjob.sh" if ps ax | grep -v grep | grep $process > /dev/null then exit else $makerun & fi
Test the script on it’s own first to make sure it starts your job.