该shell/ target=_blank class=infotextkey>shell脚本,实现如下的功能:
检测systest.sh 进程是否存在,并且进程数只能为1个,如果该进程数不为1或没有运行,则会在3秒内自动重启该脚本。
在使用时,可以调整sleep 为1 和修改需要检测的进程名和路径,可以实现自己的检测脚本。
注意:
该脚本不能放在cron 中进行运行。
可以放在/etc/rc.local 中启动的时候运行一次即可。
代码如下:
#!/bin/sh
#edit by www.jb200.com
checkprocess()
{
if [ "$1" = "" ];
then
return 1
fi
process_num=`ps -ef |grep "$1" |grep -v "grep" |wc -l`
if [ $process_num -eq 1 ];
then
return 0
else
return 1
fi
}
while [ 1 ] ; do
checkprocess "checkHangupEvent.pl"
check_result=$?
if [ $check_result -eq 1 ];
then
killall -9 systest.sh
nohup /root/script/systest.sh &
fi
sleep 3
done
您可能感兴趣的文章:
一个自动杀掉进程的shell脚本
一个自动监控进程的shell脚本
linux下监控进程的shell脚本一例
用于进程检查的shell脚本 判断是否运行某服务(图文)
限制用户进程CPU与内存占用率的SHELL脚本
linux下监视进程挂掉后自动重启的shell脚本
学习 shell kill 特定进程的方法
(原创)linux杀死进程以及发送或响应信号