0

我在一个使用 BOA Web 服务器的项目中,服务器在某个时候崩溃更多我想做一个好的看门狗来重置它而不是抓住这个过程,大多数人不知道从哪里开始..有人可以帮助我吗?

4

1 回答 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 回答