Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     12 Feb 2004  20:44:56
 To : Dmitry Y. Labutin
 Subject : Re: Как избавиться от зомби?
 -------------------------------------------------------------------------------- 
 
 Dmitry Y. Labutin  @ Thu, 12 Feb 2004 13:57:53 +0000 (UTC):
 
  DYL> Приветствую.
 
  DYL> Вот начало cgi-скрипта:
  DYL> #!/usr/bin/perl
  DYL> use IO::Socket;
  DYL> use POSIX;
 
  DYL> $| = 1;
 
  DYL> if ($daemon){
  DYL>         print "Запускаем демон\n";
  DYL>         
  DYL>         $pid = fork;
  DYL>         exit if $pid;
  DYL>         die "Couldn't fork: $!" unless defined($pid);
  DYL>         POSIX::setsid() or die "Can't start a new session: $!";
  DYL> }
 
  DYL> Далее идет сам скрипт, который висит на машине бесконечно. Он по мере
  DYL> надобности порождает еще процессы (fork), которые отработав благополучно
  DYL> останавливаются. Все хорошо, но в процессах остается родительский
  DYL> зомби-процесс (самый первый). Что нужно сделать, чтобы он нормально
  DYL> завершил свою работу? Может быть не просто exit if $pid; ?
 
 Либо почитать Стивенса на тему того, зачем там потом делается второй
 форк, либо воспользоваться Proc::Daemon, в котором это уже реализовано.
 Опционально - и то, и другое.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 Как избавиться от зомби?   Dmitry Y. Labutin   12 Feb 2004 17:57:53 
 Re: Как избавиться от зомби?   Artem Chuprina   12 Feb 2004 20:44:56 
 Re[2]: Как избавиться от зомби?   Dmitry Y. Labutin   12 Feb 2004 21:04:55 
 Re: Как избавиться от зомби?   Artem Chuprina   12 Feb 2004 21:25:53 
Архивное /ru.cgi.perl/11477e0ca939c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional