完成一个shell脚本,定时检测linux系统某一常驻进程,如果进程存在则不做任何操作,如果进程不存在则重启此进程,然后退出脚本。

   check_service.sh脚本如下:

#!/bin/bash
# editor: xu liang
# copyright:1.0.0
# date:2013/05/29 a.m.
# note: The script check SyncDateWebservice runnging or not, if not, then take it on.
#
#
. /etc/profile
PID=`ps aux | grep SyncDataWebservice | grep -v grep | awk '{print $2}' | wc -l`
echo $PID
while [ $PID -eq 0 ]; do
    /home/syncdata/startwebserviceclient.sh &
    sleep 1
    exit 0
done

   然后将此脚本写入cron中:

#check_service.sh放在home下,并设置成每小时的30分启动检测脚本
30 * * * * /home/check_service.sh

   脚本可能还有其他意外情况未考虑到,只是根据自己的需要简单写的。