I was looking for a script to monitor a process and restart it if it failed on Linux, so here is a watch dog script that I found on SO, here: http://stackoverflow.com/a/16787862/4028210
The script will watch a process and restart it if it is not running.
The script
#!/bin/sh
PROCESS="$1"
PROCANDARGS="<YOUR PROCESS AND ARGS>"
while :
do
RESULT=`pgrep ${PROCESS}`
if [ "${RESULT:-null}" = null ]; then
echo "${PROCESS} not running, starting "$PROCANDARGS
$PROCANDARGS &
else
echo "running"
fi
sleep 10
done
Usage
Let’s say the script is named “wdt.sh”
make sure it is executable:
chmod +x ./wdt.sh
As an example we’ll keep gedit running, run it as below:
./wdt/sh gedit