запустить фоновый процесс через веб

WMix

герр M:)ller
Партнер клуба
добрый...
подскажите пожалуйста, это я туплю или есть настройка в пхп?

суть в следующем, есть скрипт daemon.php нормально запускал из консоли, все работает...
но вот попросили меня кнопочку приделать чтоб включать и выключать демона...

пишу следующее....
PHP:
exec("ps ax | grep -i daemon.php | grep -v grep", $out);
print_r( $out );
shell_exec("/usr/bin/nohup /usr/bin/php /var/www/ff/scripts/daemon.php start >/dev/null 2>/dev/null &");
exec("ps ax | grep -i daemon.php | grep -v grep", $out);
print_r( $out );
запускаю, [http://.....] получаю в браузере результат..
PHP:
Array()
Array
(
    [0] =>  2052 ?        R      0:00 /usr/bin/php /var/www/ff/scripts/daemon.php start
)
но демон умирает я так понимаю сразу после реквеста, тк. я постоянно получаю этот результат..
 

WMix

герр M:)ller
Партнер клуба
разобрался, я тупил...
сменил вывод ошибок в файл, прочел, что в середине скрипта не смог поменять права запуска...

но дальше в тупике... я www-data и хочу запустить скрипт с правами root..
как правильно поступить? вижу крон который проверяет наличие файла, и если файл присутствует запускает скрипт... есть другой вариант?
 

Breeze

goshogun
Команда форума
Партнер клуба
еще может быть крон, который проверяет наличие флага в базе
еще может быть некий демон от рута, которому ты в сокет скажешь "горшочек вари"
 

WMix

герр M:)ller
Партнер клуба
демон наверно самый красивый вариант, и быстро и какбы задачи не просто чтоб запускать,... только вот писать демона для запуска демона :) сплю и вижу дерево демонов, запускающих друг друга... :) но идея понятна, делаю крона... спасибо за ответ, утвердился!
 

Absinthe

жожо
По крону запускай и проверяй, flock определенного файла, чтобы копии не плодить. Вот и демон.
 
Сверху