oudav
Новичок
pcntl, демон устойчивый против SIGKILL
Задача - средствами php реализовать перезапуск демона если ему пришел SIGKILL.
Сразу родилась идея использовать дополнительный watchdog-процесс. Который бы перезапускал демона, а если бы watchdog был убит, сам демон бы его запустил заново. Но вот беда, pcntl_wait не принимает pid'ы ЧУЖИХ процессов, только своих детей. Если watchdog будет родителем демона то его смерть повлечет смерть демона (станет зомби?). И наоборот, если watchdog будет ребенком, то результата мы опять не добьемся. Единственный выход - чтобы демон и watchdog были независимыми, но в этом случае pcntl_wait(pid) сразу завершается.
Задача - средствами php реализовать перезапуск демона если ему пришел SIGKILL.
Сразу родилась идея использовать дополнительный watchdog-процесс. Который бы перезапускал демона, а если бы watchdog был убит, сам демон бы его запустил заново. Но вот беда, pcntl_wait не принимает pid'ы ЧУЖИХ процессов, только своих детей. Если watchdog будет родителем демона то его смерть повлечет смерть демона (станет зомби?). И наоборот, если watchdog будет ребенком, то результата мы опять не добьемся. Единственный выход - чтобы демон и watchdog были независимыми, но в этом случае pcntl_wait(pid) сразу завершается.