|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Dmitry Y. Labutin 2:5020/400 12 Feb 2004 17:57:53 To : All Subject : Как избавиться от зомби? --------------------------------------------------------------------------------
Приветствую.
Вот начало cgi-скрипта:
#!/usr/bin/perl
use IO::Socket;
use POSIX;
$| = 1;
if ($daemon){
print "Запускаем демон\n";
$pid = fork;
exit if $pid;
die "Couldn't fork: $!" unless defined($pid);
POSIX::setsid() or die "Can't start a new session: $!";
}
Далее идет сам скрипт, который висит на машине бесконечно. Он по мере
надобности порождает еще процессы (fork), которые отработав благополучно
останавливаются. Все хорошо, но в процессах остается родительский
зомби-процесс (самый первый). Что нужно сделать, чтобы он нормально
завершил свою работу? Может быть не просто exit if $pid; ?
P.S. Зачем такой изврат? Это потому, что нет возможности зайти по SSH на
машину. Только FTP на хостинг и все :((
--
Дмитрий Лабутин
dmitry@incub.ru
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
* Origin: incub creative team (2:5020/400)
Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/27847b11e58d.html, оценка из 5, голосов 10
|