Обеспечить надежность сокета и его восстановление

Booo

Новичок
Обеспечить надежность сокета и его восстановление

День добрый.

Вопрос такой: имеется РНР сокет, с которым работают несколько десятков клиентов.
Как сделать так, чтобы сокет-скрипт самовосстанавливался после падения?

В голову приходит такая мысль - в кроне на каждые, например, 5 минут прописать проверку, работает ли сокет. если нет - запускать. Но как проверить работает он или нет и как это организовать? Если есть другой способ - буду рад выслушать.
Спасибо.
 

hermit

Новичок
при помощи .sh файа в самом линухе. Можешь посмотреть файлы которые поднимают апач или еще что то
При запуске он смотрит, запущен ли процесс, и если надо то запускает его, сохраняя PID процесса в отдельный файл (для дальнейшей проверки его запущенности)
 

hermit

Новичок
Tor
У меня просто такая же трабла, есть PHP-шный демон который работает с ICQ-протоколом, надо чтобы он постоянно висел онлайн, но сервак иногда ребутят, вот и надо его поднимать
Вот только хостинга не могу найти где бы он поднимался нормально, у них порты закрыты везде для такого бота =(

-~{}~ 02.06.06 14:00:

Booo
Посмотри вот я делал файл run.sh (права на выполнение ему поставь)
#!/bin/sh

pid=`cat pid.pid`
proc=`ps ax |grep ${pid} |grep -v grep|awk '{print $1;}'`

if [ "X${proc}" != "X" ] ; then
echo 'proc is running'
else
nohup /usr/local/bin/php phpicq.php &
echo $! > pid.pid
echo 'I run this proc'
fi

echo ${proc}

отредактируй под свои нужды
 

Booo

Новичок
Автор оригинала: Tor
что значит "падение"?
может проблема не в сокете, а в скрипте?
Ну мало ли. Или ошибка непредвиденная, или за ДОСят по самое нибалуй... всяк бывает.

hermit: Спасибо! это как раз то, что надо!
 
Сверху