|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 10 Mar 2005 15:41:24 To : Golyashov Sergey Subject : Re: демоны... -------------------------------------------------------------------------------- Golyashov Sergey -> Konstantin Tokar @ Thu, 10 Mar 2005 11:05:44 +0000 (UTC): >> Я просветил. Тебе что-то непонятно? 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> Чего-то координально нового я тут не увидел. Соответственно не пойму GS> зачем ставить модуль, не входящий в состав perl по умолчанию, для того, GS> чтобы реализовать все тоже самое, что можно легко сделать и без него. Можно. Hо вот эти-то "некардинальные" отличия и отличают демона, который будет работать, от демона, который не будет, и непонятно будет, почему не будет... GS> Или Вас смутило то, что в моем примере демон не отваливался от GS> терминала? Дык подобных примеров в сети полно. От сессии. Бэкграундный процесс, не отцепившийся от сессии - это не демон. Hезависимо от количества подобных примеров в сети. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Hет применения человеческому разуму! (c)JB --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/256069525d0ad.html, оценка из 5, голосов 10
|