2013-03-07 2 views
0

У меня есть сценарий python, который я хотел бы запускать каждые n секунд. Я хочу, чтобы запустить скрипт с PHP-страницы. Я бы хотел, чтобы он работал в фоновом режиме, чтобы я мог посетить мою страницу, нажать «пойти», оставить страницу, вернуться через несколько часов и остановить все это.PHP запускает скрипт python каждые n секунд

Я пытаюсь создать веб-интерфейс для захвата снимка экрана с веб-камеры каждые n секунд, чтобы потом скомпилировать последовательность изображений в видео с последующим просмотром.

Команда, которую я пытаюсь использовать это:

nohup watch -n20 python imgDownload.py & 

Это обычно работает, когда я ввожу его непосредственно в командной строке, но в PHP, когда я делаю

$cmd = 'nohup watch -n20 python imgDownload.py &'; 
$output = shell_exec($cmd); 

или

exec($cmd, $output); 

или даже

$cmd = 'nohup watch -n20 python ' . dirname(__FILE__) . '/imgDownload.py &'; 

не работает.

Я знаю, что shell_exec() работает, потому что я могу успешно работать следующим образом:

echo shell_exec("echo 'hi, there'"); 

это ставит "привет, есть на странице, как это должно быть.

Любые идеи, почему это не сработает? Есть лучший способ сделать это?

+0

какая ошибка-х вы получаете? –

+0

Ошибок нет. Когда страница загружает его либо зависает, либо когда я делаю «exec() или умереть (« умер »), он« хочет умереть ». – Justin

+0

Вы подтвердили, что команда shell_exec() включена? – ILikeTacos

ответ

0

использование Exec и перенаправить вывод в/Dev/нуль, это заставит PHP не ждать от команды до конца:

$cmd = 'nohup watch -n20 python imgDownload.py &'; 
exec($cmd . " > /dev/null &"); 
Смежные вопросы