Fork демона из Perl скрипта с получением Pid. Как получить правильное

Тема в разделе "Perl программирование", создана пользователем accessdenied, 26 ноя 2008.

  1. accessdenied

    accessdenied Гость

    Есть задача: из перлового скрипта запустить линуксового демона, записать PID и использовать его потом для остановки демона.
    Для запуска демона используется комбинация fork/exec.

    Проблема: запускаемый демон внутри себя форкает еще один процесс, отрубает ему ввод-вывод и становится собственно демоном.
    Таким образом PID, сохраненный в Perl скрипте, не соответствует реальному PID, под которым демон запустился.

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

    Не могу найти решения проблемы. Кажется, оно должно существовать, ведь и перлу и демонам уже много лет, кто-нибудь уже должен был этим заниматься.
     
  2. Vovochka

    Vovochka Гость

    Вообще-то обычно запускаемый процесс сам пишет свой пид в файл, а остальные смотрят этот файл. Что то типа /var/run/proc.pid или /tmp/proc.pid
     

Поделиться этой страницей