完成一个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
脚本可能还有其他意外情况未考虑到,只是根据自己的需要简单写的。