Страница 2 из 2

Добавлено: 10 май 2006, 14:24
berkut
AiK, а чем реализация демона на перл отличается от реализации на php? что такого специфичного есть в перл, чего нет в пхп? >/dev/null

Добавлено: 10 май 2006, 14:40
AiK
berkut, я не очень хорошо знаю пёрл и тем более php.
Вот что я делаю на perl:

Код: Выделить всё

$SIG{CHLD}='IGNORE';
  if (!defined ($pid = fork)) {
    die "Unable to fork: $!\n";  
  } elsif (! $pid) {  # it is a child branch
    close(STDIN); close(STDOUT); close(STDERR);
   # что-то очень долго делаем и отправляем репорт по завершении 
}
else {# this is the branch for the parent 
         print "Content-type: text/html\n\n";
         print "Ваш запрос принят к обработке. Через некоторое время".
                ."результаты будут отправлены на Ваш e-mail.";
         exit; #terminate parent process
}
В результате, юзверь видит сообщение, что процесс пошёл, спокойно закрывает браузер и идёт пить кофе.
Как только дочерний процесс завершит свою работу, хоть через минуту, хоть через пару часов, юзверь получит отчёт по почте.

Как такое же реализовать на php я понятия не имею. Твоя идея с перенаправлением потока в >/dev/null годится, но только если скрипту-демону на php не надо параметры передавать. Как-то у мну параметры в командной строчке передать не очень получилось.