我正在一个使用 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,大多不得不使用进程名称。
有人知道我如何获得进程名称的方法吗? 而不是识别它?