php скрипт не запускается в фоне.

Теркин

Новичок
php скрипт не запускается в фоне.

Здравствуйте!

Пытаюсь из одного php скрипта запустить другой php скрипт в фоне

PHP:
$cmd = 'cd /var/www/httpdocs/ && /usr/bin/php -f /var/www/httpdocs/start.php 1>/dev/null 2>&1 &';
exec($cmd, $tmp);
под FreeBSD все работало, но вот теперь под Linux не хочет запускаться в фоне.
Пробовал и shell_exec() и system() не работает.

PHP:
$cmd = 'cd /var/www/httpdocs/ && /usr/bin/php -f /var/www/httpdocs/start.php > /dev/null &';
так тоже не хочет.
А из командной строки те же команды без проблем запускаются в фоне.

В общем если кому-нибудь, когда-нибудь удавалось запустить php скрипт под linux в фоне из другого скрипта, напишите плиз как это делается.
 

Теркин

Новичок
system ( "/usr/local/bin/php sleep.php > /dev/null &" ); возврат моментальный, дочка осталась
Так в том то и дело что так работает по FreeBSD,
а вот под linux так не хотело работать, все равно приходилось ждать дочку, возврата не было.
Решить проблему помогли функции proc_open и popen видимо в линуксе system и exec работают по другому.
 

Теркин

Новичок
Автор оригинала: Fortop
Ввод и вывод переназначить забыли?
Нет, вывод переназначается здесь
в ввод, насколько знаю, вообще не нужно переназначать.
Дело все-таки в функциях.


В общем всем спасибо за помощь.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Теркин
я тестировал на Linux, если у тебя не работает - что-то делаешь не так
 

Теркин

Новичок
Автор оригинала: grigori
Теркин
я тестировал на Linux, если у тебя не работает - что-то делаешь не так
Да вроде все так, может дело и в дргом, настройки php, или версия кривая php или операционки.
 

Fortop

Новичок
Нет, вывод переназначается здесь
Прошу прощения, не обратил внимания на Ваш код в первом сообщении.

Дело все-таки в функциях.
Я не знаю причем тут функции.
Пример grigori у меня отработал.
И раньше все работало.

Код:
fortop@linux-jf1s:/var/log/php> uname -a
Linux linux-jf1s 2.6.31.12-0.2-desktop #1 SMP PREEMPT 2010-03-16 21:25:39 +0100 x86_64 x86_64 x86_64 GNU/Linux
 
Сверху