Ключевые слова:web, cgi, fork, background, (найти похожие документы)
Date: Tue, 24 Apr 2001 13:24:08 +0000 (UTC)
From: "Alexander V. Gaiduk" <gav@lesobank.ru>
Newsgroups: fido7.ru.cgi.perl
Subject: Как оставить работать cgi скрипт в качестве фонового процесса
>Есть ЦГИ скрипт, тама он выдает в бровзер данные делает форк и мрет, а
>порожденный процесс делает работу секунд эдак на 30.
>проверяю в телнете - все ок, вижу заголовки, данные и как он умирает :)
>А апач почему-то ждет пока умрет порожденный процесс а затем страница
>показывается
>'ps aux' грит что родитель - зомби! (во время выполнения под апачем)
>кошмар!!
>поэтому прошу тебя, All, посоветуй что-нибудь!
у меня работает вот такой код:
--------------------------------------------------------------
...то, что надо, чтоб отрисовалось в бровзере...
print "</html>\n";
if (fork()) {
exit;
}
...то, что продолжает работу в фоне, отцепившись от бровзера...
--------------------------------------------------------------
у меня тут рассылка почты по списку, на что уходит около часа.
за почти год эксплуатации пока ни одного сбоя не было.
зы.
Caldera OpenLinux eServer 2.3 (kernel 2.2.14)
Apache 1.3.9
Perl 5.005_03
=GAV
Можно проще:
--------------------------------------------------------------
...то, что надо, чтоб отрисовалось в бровзере...
print "</html>\n";
close(STDOUT);
...то, что продолжает работу в фоне, отцепившись от бровзера...
--------------------------------------------------------------