我有一个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',就像它应该的那样。
为什么它不起作用的任何想法?有一个更好的方法吗?
答案 0 :(得分:0)
使用exec并将输出重定向到/ dev / null,这将导致php不等待命令完成:
$cmd = 'nohup watch -n20 python imgDownload.py &';
exec($cmd . " > /dev/null &");