|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ivan Frolkov 2:5020/175.2 10 Mar 2005 16:01:51 To : Golyashov Sergey Subject : Re: демоны... -------------------------------------------------------------------------------- Thu Mar 10 2005 14:05, Golyashov Sergey wrote to Konstantin Tokar: >> Я просветил. Тебе что-то непонятно? GS> Hе понятно - почему именно использование Proc::Daemon можно считать GS> правилным способом? GS> Смотрим Daemon.pm и видим: GS> sub Fork { GS> my($pid); GS> FORK: { GS> if (defined($pid = fork)) { GS> return $pid; GS> } elsif ($! =~ /No more process/) { GS> sleep 5; GS> redo FORK; GS> } else { GS> croak "Can't fork: $!"; GS> } GS> } GS> } GS> sub Init { GS> ... GS> ## Fork and exit parent GS> if ($pid = Fork) { exit 0; } GS> ## Detach ourselves from the terminal GS> croak "Cannot detach from controlling terminal" GS> unless $sess_id = POSIX::setsid(); GS> ## Prevent possibility of acquiring a controling terminal GS> if (!$oldmode) { GS> $SIG{'HUP'} = 'IGNORE'; GS> if ($pid = Fork) { exit 0; } GS> } GS> ... GS> } GS> Чего-то координально нового я тут не увидел. Соответственно не пойму Как написано в доке на Proc::Daemon, он делает следующее: 1. Forks a child and exits the parent process. 2. Becomes a session leader (which detaches the program from the controlling terminal). 3. Forks another child process and exits first child. This prevents the potential of acquiring a controlling terminal. 4. Changes the current working directory to "/". 5. Clears the file creation mask. 6. Closes all open file descriptors. "Координально" новым тут являются пп. 2 и 3. 4, 5 и 6 ты просто проигнорировал. За подробностями - http://www.faqs.org/faqs/unix-faq/programmer/faq/ , искать "1.7 How do I get my program to act like a daemon?" GS> зачем ставить модуль, не входящий в состав perl по умолчанию, для того, GS> чтобы реализовать все тоже самое, что можно легко сделать и без него. GS> Или Вас смутило то, что в моем примере демон не отваливался от GS> терминала? Дык подобных примеров в сети полно. "Бомж отравился продуктами, найденными на помойке" (с)МК --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33008c0dcbcc.html, оценка из 5, голосов 10
|