|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Edward Muhutdinov 2:5049/89.13 07 Jan 2001 01:03:39 To : All Subject : fork -------------------------------------------------------------------------------- Четверг Декабрь 07 2000 17:39, Edward Muhutdinov wrote to Andrey Brindeew: AB>> Встречный вопрос - зачем форкаемся? Если затем, чтобы после AB>> отдачи клиенту сообщения "Работа запущена, ждем-с результаты..." AB>> продолжить что-то делать (например, рассылку или еще чего AB>> критичное ко времени), то тебе нужно отделиться нафик от AB>> родителя, которому скоро суждено сдохнуть. EM> нужно отделиться от родителя, выполнить определенные действия и EM> сдохнуть. Только и всего :) Hо при этом выполнить только действия, EM> идущие после самого fork. EM> Я пробовал так: EM> #!/usr/bin/perl EM> use CGI; EM> $cgi=new CGI; EM> print $cgi->header; EM> print "<title>Текстец усякий</title>трампампам раз."; EM> for(0..5) EM> { unless(fork()) EM> { open STDIN,'/dev/null'; EM> open STDOUT,'>/dev/null'; EM> open STDERR,'>&STDOUT'; EM> open NAM,'>>aaa'; EM> print NAM "text\n"; EM> close NAM; EM> exit 0; EM> } EM> } EM> В результате демонстрирует пять или шесть раз хидер и титл, а также EM> шесть раз пишет в ./aaa фрагмент "text". Мне же нужно, чтобы он писал EM> хидер и титл один раз, а в ./aaa писал, естественно, шесть 'text'. EM> Причем варьирование условий (unless, while etc.) дает какой-то EM> результат при выполнении из командной строки (однако непредсказуемый EM> результат - что мне не совсем понятно), но обращение браузером EM> неизменно - шестикратное клонирование хидера и титла. EM> Что-то неправильно. Hо что? В общем, случайно сам набрел на решение. Может, кому-то пригодится, поэтому привожу его здесь. Где-нибудь в начале: $|=1; С приветом, Edward M. --- ДДДmailto:wtiger@mail.ruДДДhttp://wtiger.ncport.ruДДДICQ UIN 9625056ДДДДД * Origin: Эк тебя скрючило! (2:5049/89.13) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/33963a57b2b9.html, оценка из 5, голосов 10
|