2013-09-19 7 views
0

Я нахожусь в проекте, где я использую веб-сервер BOA, сервер в следующий раз падает больше, я хотел сделать хороший сторожевой таймер, чтобы сбросить его, что не поймало процесс, большинство не знает, с чего начать .. кто-то может мне помочь?Watchdog для веб-сервера Boa

ответ

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, большинство из них использовать имя процесса.

Кто-нибудь знает способ получения имени процесса? скорее, чтобы идентифицировать его?