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

  • Автор темы accessdenied
  • Дата начала
A

accessdenied

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

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

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

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

Vovochka

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