我在一个使用BOA Web服务器的项目中,服务器在某一时刻崩溃更多,我想做一个好的看门狗来重置它,而不是赶上了进程,大多数人都不知道从哪里开始..有人可以帮助我吗?
最佳答案
我可以通过下面的代码解决我的问题:
#!/bin/sh
#chkconfig: 2345 90 10
#description: watchdog for myservice
#processname: myservice-watchdog
MYSERVICE_PID=`pidof /etc/init.d/apache2`
check_myservice() {
if [ -z $MYSERVICE_PID ];then
service apache2 start
fi
}
check_myservice
usage() {
echo "myservice-watchdog {start|stop|status}"
exit 0
}
case $1 in
start ) if [-z $MYSERVICE_PID ];then
service apache2 start
else
echo "myservice is already running"
fi
;;
stop ) if [ -n $MYSERVICE_PID ];then
service apache2 stop
else
echo "myservice is already stopped"
fi
;;
status) if [ -z $MYSERVICE_PID ];then
echo "myservice is not running"
else
echo "myservice is running"
fi
;;
*) usage
;;
esac
但是现在我发现了另一个问题,这个脚本运行得很好..但是不能用来标识进程的PID,大多数必须使用进程名。
有人知道如何获取进程名称吗?而不是识别它?
关于c - Boa Web服务器的看门狗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18900463/