PHP每n秒运行一次python脚本

时间:2013-03-07 20:10:39

标签: php python command-line cron nohup

我有一个python脚本,我想每n秒运行一次。我希望能够使用PHP页面启动脚本。我希望它在后台运行,以便我可以访问我的页面,点击“go”,离开页面,几个小时后回来,并停止整个事情。

我正在尝试构建一个网络界面,每隔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'");

它会在页面上显示'hi,there',就像它应该的那样。

为什么它不起作用的任何想法?有一个更好的方法吗?

1 个答案:

答案 0 :(得分:0)

使用exec并将输出重定向到/ dev / null,这将导致php不等待命令完成:

$cmd = 'nohup watch -n20 python imgDownload.py &';
exec($cmd . " > /dev/null &");