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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Julia Fadeeva                        2:5070/66.22   16 Feb 2001  16:21:37
 To : All
 Subject : снова форк
 -------------------------------------------------------------------------------- 
 
 ситуация такая:
 есть действие, выполняемое в фоновом режиме - юзеру надо пообщещать золотые горы
 и для него все закончить.
 Hаблюдаю странное, вот тестовый примерчик:
 
 ===========================
 print "Заголовок<br>\n";
 $pid = fork(); die("Can not fork") if $pid < 0;
 if ( $pid ) {    print "Слегка подожите, потом проверьте емейл<br>\n";
     close(STDOUT);
     exit(0);
 }
 
 #то, что делается незаметно для юзера
 #небольшой цикл, чтобы процесс поработал хотя бы с минуту
 $i = 0;
 while ($i <= 9999999) {
     $i++;
 }
 
 #отмылить юзеру результат
 open(OUT,$MAILCOMMAND) ||  print "Error open sendmail pipe";
 ...............
 close(OUT);
 ===========================
 
 Когда выполняю в шелле - все в порядке, печатает:
 ===========
 Заголовок
 Подождите и проверьте емейл
 ===========
 
 и отваливается, потомок с минуту присутствует в списке процессов, потом исчезает
 (у нас система зомбей сразу стреляет).
 
 Если вызываю из браузера, картина другая:
 печатает заголовок и просьбу подождать, потом пауза (примерной длительности
 работы остальной части скрипта), и потом опять печатает заголовок и просьбу.
 
 Почему такое бывает? Чем вызов из шелла в даннном случае отличается от вызова
 через браузер?
 
 Julia
 
 --- GoldED/386 2.50+
  * Origin: Шубки - долой, шапки - в сторону (с) ИРП (2:5070/66.22)
 
 

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

 Тема:    Автор:    Дата:  
 снова форк   Julia Fadeeva   16 Feb 2001 16:21:37 
 снова форк   Ivan Frolcov   16 Feb 2001 14:15:24 
 снова форк   Julia Fadeeva   16 Feb 2001 20:20:38 
 снова форк   Ivan Frolcov   16 Feb 2001 16:18:04 
 Re: снова форк   Dmitry Karasik   16 Feb 2001 14:39:12 
 Re: снова форк   Alexey Cheremisin   16 Feb 2001 15:01:36 
 Re: снова форк   Dmitriy MiksIr   17 Feb 2001 17:53:10 
 Re: снова форк   Edward Smirnov   18 Feb 2001 17:32:02 
 Re: снова форк   Dmitriy MiksIr   19 Feb 2001 01:40:58 
 снова форк   Edward Muhutdinov   18 Feb 2001 19:22:40 
Архивное /ru.perl/33243a8d4761.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional