|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexander V. Gaiduk 2:5020/400 22 Nov 2001 17:42:08 To : Leonid Nikolaev Subject : Hа: Вопрос про fork() -------------------------------------------------------------------------------- <offtop> не стоило дважды из DOSа в KOI8-R коверкать. -------------------------------------------------------------------------- </offtop> >Dmitry Chertischev <dim-dim@ariadnamedia.com> writes: > >Ситуация такая, что надо закрыть сигналы SIGINT,SIGTREM а может и еще >какие, смотрет надо. Видимо это можно сделать >$SIG{INT}=undef; для чего? а если его внатуре надо прибить? >> Hужно было написать CGI-скрипт, который бы отправлял письма на кучу >> адресов. При этом его работа занимает кучу времени. Hужно, чтобы скрипт >> сказал в броузер что-то типа "Рассылка в процессе", а сам бы занялся >> собсвтенно рассылкой. >> >> Я сделал так: >> if (!fork()) { >> eval { >> # делаем долгую работу, т.е. рассылаем почту >> } >> } else { >> print qq^<br><p align="center">Рассылка в процессе...</p>^; >> } >> >> Все работает отлично: скрипт говорит "Рассылка в процессе..." и >> рассылает почту. Hо при этом броузер держит соединение с веб-сервером и >> заканчивает соединение только после того как скрипт закончит рассылку >> писем. При этом, если нажать в броузере ESC, то броузер разрывает >> соединение, а скрипт при этом продолжает работу, что в принципе и нужно. >> >> Как бы сделать, что после вывода "Рассылка в процессе..." броузер сразу >> бы закрывал соединение? у меня аналогичная ситуация, тока брозверь (а не сервер?) сразу закрывает соединение. кусок кода: ... &printendmesg("<hr><b>Спасибо.<br>Ваше сообщение успешно добавлено.</b>"); if (fork()) { exit; } # родился ребенок + сдох родитель &sendnews; # ребенок дооолго пашет, соединение с клиентом закрыто ... --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/1199937721155.html, оценка из 5, голосов 10
|