一个自动重新启动无故退出程序的shell脚本
时间:2006-05-18 来源:xxcom
最近linux下的一个服务总是无故退出,查了好长时间原因也没有查到,但是我又不能每天都看着监控界面,所有就写一个监控的脚本,让它来给我监控程序。
先声名你的程序必须监听某个端口,当然其他的也可以,我现在还用不到,不想写了,呵呵。
废话不说了,把代码贴出来吧,很简单的几行。
#!/bin/bash --根据自己需要修改
cd /home/mpsp/boss/bin --根据自己需要修改
while true
do netstat -na|grep LISTEN|grep 10021 >/dev/null --获取监听端口状态
S61=$? if [ $S61 -ne 0 ]; then --如果端口死掉重起
echo `date` 端口死掉, 重起
runr --这个是你自己的启动脚本
fi sleep 2 done runr: #!/bin/bash
echo 重新启动上海移动服务 ps -ef|grep boss |grep -v grep|awk 'BEGIN{printf "kill "}{printf "%s ", $2}'|bash ---判断进程是否存在,存在就杀掉 ./rund ---程序启动脚本,这个就不提供了,呵呵
do netstat -na|grep LISTEN|grep 10021 >/dev/null --获取监听端口状态
S61=$? if [ $S61 -ne 0 ]; then --如果端口死掉重起
echo `date` 端口死掉, 重起
runr --这个是你自己的启动脚本
fi sleep 2 done runr: #!/bin/bash
echo 重新启动上海移动服务 ps -ef|grep boss |grep -v grep|awk 'BEGIN{printf "kill "}{printf "%s ", $2}'|bash ---判断进程是否存在,存在就杀掉 ./rund ---程序启动脚本,这个就不提供了,呵呵
相关阅读 更多 +