Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #12093 [566]
 От   : Dmitry Pljonkin               2:5020/400          09 января 05, 15:26
 Кому : Pavel Plesov                                      10 января 05, 21:20
 Тема : Re: exec() бэкграундом
-------------------------------------------------------------------------------
From: Dmitry Pljonkin 

Hi!

>  > Возникла необходимость скрипт запускать фоном, и что-то никак с этим
>  > не разберусь.
>  > Сделал так:
> 
>  > exec("/usr/local/bin/php /mydir/myscript.php >/dev/null 2>/dev/null
>  > &");
> 
>  > Вывод действительно давится, но основной скрипт все равно продолжает
>  > ждать завершения этого "дочернего" /mydir/myscript.php
> 
> Дело в том, что php ждет закрытия потока stdout этого процесса.
> 
> Под *nix могут спасти proc_*().
> 

Сделал так:

master.php:
 /dev/null & ");

   echo 'starting child process... ';
   proc_close( proc_open($real_cmd, array(), $empty) );
   echo 'process closed... ';
?>

slave.php:



Все равно ждет, зараза. Что я не так делаю?

> Более универсально - запуск через wrapper, который после запуска будет
> закрывать stdout и далее запускать требуемую программу.
К сожалению, это мне не доступно.


-- 
Adios!
--- ifmail v.2.15dev5.3
 * Origin: Demos online service (2:5020/400)


При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!