LINUX.ORG.RU
Ответ на: комментарий от sin_a

Имеется ввиду мониторинг PID'а дочернего процесса и запуск программы заново в случае чего?

ur
() автор топика
Ответ на: комментарий от ur

Нет, в этом примере тупой бесконечный цикл с выполнением команды. После завершения программы она гарантированно будет запущена снова. Но естественно это очень примитивный метод, хотя полностью подходит под приведённое техзадание.

sin_a ★★★★★
()
Ответ на: комментарий от ur

А следить нужно за этим самым монитором? Если да, то я указал специализированные инструменты выше. Никак не уловлю, что именно тебе нужно.

GotF ★★★★★
()

У меня была подобная задача .

Демон сбора данных с датчика при отвале датчика (датчик цеплялся по USB) не мог подцепить его снова. При перезапуске датчик нормально цеплялся. Поскольку скорость опроса датчиков низкая (1-2 показаний в минуту) нарисовал быдлоскрипт парсящий лог демона на предмет характерного сообщения и перезапускавший скрипт и запихнул его в крон.

kombrig ★★★
()
Ответ на: комментарий от kombrig

Можно и так. Но по мне лучше через родительский цикл проверять.

Кстати, а зачем пишут PID процесса в /var/run если после fork'a он и так известен?

ur
() автор топика
Ответ на: комментарий от ur

Чтобы если демон запускается второй раз, можно было бы быстро проверить, не запущен ли он уже.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Действительно, странно что сам не догадался :)

ur
() автор топика
Ответ на: комментарий от Eddy_Em

+1

inittab и не строить новых велосипедов.

p.s. если демон часто и нештатно завершается, то это повод искать и фиксить баги а не писать скриптовую оплётку по его переподъёму.

MKuznetsov ★★★★★
()

простенький код на С, который запускает процесс и вейтпидит :) ну или как-то так... но проще на перле...

Jetty ★★★★★
()
Ответ на: комментарий от anonymous

да ладно. вон в ерланге только так и делают.

В erlang для этих целей ключ у рантайма есть.

quasimoto ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.