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