私はBOA Webサーバーを使用するプロジェクトに参加しています.ある時点でサーバーがクラッシュします.プロセスをキャッチしたのではなく、リセットするための適切なウォッチドッグを作りたかったのですが、どこから始めればよいかわかりません..誰かが私を助けることができますか?
質問する
111 次
1 に答える
0
以下のコードを使用して問題を解決できました。
#!/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 を識別するために使用することはできません。ほとんどの場合、プロセス名を使用する必要があります。
プロセス名を取得する方法を知っている人はいますか? むしろ特定?
于 2013-09-25T18:08:20.450 に答える