[英]PHP run python script every n seconds
我有一個想每n秒運行一次的python腳本。 我希望能夠使用PHP頁面啟動腳本。 我希望它在后台運行,以便我可以訪問我的頁面,單擊“開始”,離開頁面,在幾個小時后回來,然后停止整個操作。
我正在嘗試構建一個Web界面,以便每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'");
它會在頁面上顯示“嗨,在那兒”,就像應該這樣。
有什么想法為什么不起作用? 有一個更好的方法嗎?
使用exec並將輸出重定向到/ dev / null,這將導致php不等待命令完成:
$cmd = 'nohup watch -n20 python imgDownload.py &';
exec($cmd . " > /dev/null &");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.