我在一个使用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/

10-11 03:25
查看更多