Страница 1 из 1
Автозапуск демона после падения
Добавлено: 2009-02-18 13:33:37
dotnet
Ни у кого случайно нет bash скрипта который проверяет наличие в памяти процесса и если его нет - запускает. По идеи это не сложно в написании, но сам не умею. Буду признателен если кто поделится.
* Проблема в том что почему-то через какое-то время вылетает php-cgi (FastCGI) сервер.
Re: Автозапуск демона после падения
Добавлено: 2009-02-18 13:38:40
terminus
Dwatch (Daemon Watch) is a program that watches over other programs and performs actions based on conditions specified in a configuration file. See dwatch.conf for an example of what the file might look like.
Dwatch is meant to be run from cron at regular intervals.
http://www.freshports.org/sysutils/dwatch/
Re: Автозапуск демона после падения
Добавлено: 2009-02-18 13:50:24
Termitnik
Насколько я понимаю, достаточно будет следующего:
Код: Выделить всё
#!/bin/sh
if ps ax | grep <имя процесса> > /dev/null; then echo "Process is running"
else echo "Process is NOT running, restarting";
<путь к стартовому сценарию> start
fi
Re: Автозапуск демона после падения
Добавлено: 2009-02-18 14:15:07
Гость
http://www.freshports.org/sysutils/monitord/
This port allows one to monitor other standalone services and
automatically restart them if they are accidentally and unwittingly
terminated, or crash either because of instability or a DoS attack.
It simplifies a task capable of being performed by cron(8) by not
requiring custom scripts to be written for each service being
monitored. The configuration file is simple and easily setup.
Re: Автозапуск демона после падения
Добавлено: 2009-02-18 14:15:51
gloom
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:05:58
dotnet
Всем спасибо за помощь. Установил monit , очень понравилась. Но возникла другая проблема

. Там при добавлении процесса за которым нужно следить, требуется указать его .pid файл. Я порылся в /var/run но pid файла процесса php-cgi так и не нашел. Как это можно сделать

?
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:15:37
zingel
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:20:30
dotnet
zingel писал(а):добавить в конфиг
А про какой конфиг идет речь? php.ini?
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:21:50
zingel
не, cgi
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:26:32
dotnet
А можно подробней. Я если что про подпись вашу не забуду

Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:29:28
zingel
можно да
Код: Выделить всё
Создаём скрипт запуска fcgi-сервера:
/usr/local/etc/rc.d/php-cgi
#!/bin/sh
#
# PROVIDE: php_fastcgi
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="php_fastcgi"
rcvar=`set_rcvar`
load_rc_config $name
: ${php_fastcgi_enable="NO"}
: ${php_fastcgi_user="www"}
: ${php_fastcgi_bindaddr="127.0.0.1"}
: ${php_fastcgi_bindport="9000"}
: ${php_fastcgi_children="5"}
: ${php_fastcgi_max_requests="1000"}
: ${php_fastcgi_allowed_env=""}
export PHP_FCGI_CHILDREN=${php_fastcgi_children};
export PHP_FCGI_MAX_REQUESTS=${php_fastcgi_max_requests};
command="/usr/local/bin/php-cgi";
command_args="-q -b ${php_fastcgi_bindaddr}:${php_fastcgi_bindport} &";
pidfile="/var/run/${name}.pid";
_allowed_env="ORACLE_HOME PATH USER PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS";
_allowed_env="${_allowed_env} ${php_fastcgi_allowed_env}";
start_precmd=start_precmd;
start_postcmd="sleep 1;ps -U ${php_fastcgi_user} -o 'pid,command'|grep ${command}|head -1|\
awk '{print \$1}' > ${pidfile}";
stop_postcmd=stop_postcmd;
start_precmd()
{
export USER=${php_fastcgi_user};
E=
for i in ${_allowed_env}; do
eval _val="\$$i";
if [ "${_val}_x" != "_x" ]; then
eval _add="$i=$_val";
E="${E} ${_add}";
fi
done
command="env - ${E} ${command}";
}
stop_postcmd()
{
rm -f $pidfile
}
load_rc_config $name;
run_rc_command "$1";
wiki.lissyara.su/wiki/Nginx_php-cgi
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 10:48:11
dotnet
А почему ": ${php_fastcgi_enable="NO"}" установлен как NO, может поправить на YES? У меня связка nginx + php fast cgi
Re: Автозапуск демона после падения
Добавлено: 2009-02-19 13:25:59
zingel
Re: Автозапуск демона после падения
Добавлено: 2009-02-22 0:00:36
zingel
ну и где мои деньги? (с)
p.s. зачем напиз...л стаорму человеку?