我有一个PHP脚本,它需要调用shell脚本,但根本不关心输出。Shell脚本会进行许多SOAP调用,并且完成起来很慢,因此我不想在等待回复时放慢PHP请求。实际上,PHP请求应该能够退出而不终止shell进程。
我已经研究过的各种exec(),shell_exec(),pcntl_fork(),等功能,但他们都不似乎提供正是我想要的。(或者,如果这样做,我不清楚如何做到。)有什么建议吗?
exec()
shell_exec()
pcntl_fork()
如果它“不关心输出”,是否不能使用&后台进程调用脚本的exec ?
&
编辑 -结合@AdamTheHut对这篇文章发表的评论,您可以将其添加到对以下内容的调用中exec:
exec
" > /dev/null 2>/dev/null &"
这样会将stdio(first >)和stderr(2>)都重定向到/dev/null后台并在后台运行。
stdio
>
stderr
2>
/dev/null
还有其他方法可以执行相同的操作,但这是最简单的方法。
上述双重重定向的替代方法:
" &> /dev/null &"