脚本的执行时间超过一分钟。因此,我希望将脚本作为后台任务运行。
我在互联网上阅读了很多关于它的内容并且认为print shell_exec('/usr/bin/php -q page.php &');
不是解决方案,因为这个过程仍然是这个过程的孩子。我已经用sleep(10)测试了它,实际上,应该调用cron作业的页面正在等待10秒。
所以,symcbean写了一篇文章(http://symcbean.blogspot.nl/2010/02/php-and-long-running-processes.html?m=1),并提出以下代码:
print `echo /usr/bin/php -q longThing.php | at now`;
但是,不幸的是,我的脚本没有做任何事情,在添加2>&1
后我得到以下回复:
sh:at:未找到命令
我经常搜索解决这个问题,但找不到任何解决方案。
答案 0 :(得分:1)
您应该提供at
命令的完全限定路径,例如/bin/at
。
如果您不确定路径,通常可以在命令行键入which at
以查找命令的路径。