有没有办法在不等待命令完成的情况下使用shell_exec?
我有一个流程密集型任务,我想在后台运行。
用户点击一个页面,PHP脚本运行,最后,根据某些条件,如果需要,它必须运行一个shell脚本,例如:
shell_exec('php measurePerformance.php 47 844 email@yahoo.com');
目前我使用shell_exec,但这需要脚本等待输出。有没有办法执行我想要的命令,而无需等待它完成?
我有一个流程密集型任务,我想在后台运行。
用户点击一个页面,PHP脚本运行,最后,根据某些条件,如果需要,它必须运行一个shell脚本,例如:
shell_exec('php measurePerformance.php 47 844 email@yahoo.com');
目前我使用shell_exec,但这需要脚本等待输出。有没有办法执行我想要的命令,而无需等待它完成?
如何添加。
"> /dev/null 2>/dev/null &"
shell_exec('php measurePerformance.php 47 844 email@yahoo.com > /dev/null 2>/dev/null &');
请注意,这也摆脱了 stdio 和 stderr。
这将执行一个命令,并与正在运行的进程断开连接。当然,它可以是您想要的任何命令。但是对于测试, 你可以创建一个 php 文件与 sleep(20) 命令它.
exec("nohup /usr/bin/php -f sleep.php > /dev/null 2>&1 &");