一尘不染

PHP中的异步shell exec

php

我有一个PHP脚本,它需要调用shell脚本,但根本不关心输出。Shell脚本会进行许多SOAP调用,并且完成起来很慢,因此我不想在等待回复时放慢PHP请求。实际上,PHP请求应该能够退出而不终止shell进程。

我已经研究过的各种exec()shell_exec()pcntl_fork(),等功能,但他们都不似乎提供正是我想要的。(或者,如果这样做,我不清楚如何做到。)有什么建议吗?


阅读 337

收藏
2020-05-26

共1个答案

一尘不染

如果它“不关心输出”,是否不能使用&后台进程调用脚本的exec ?

编辑
-结合@AdamTheHut对这篇文章发表的评论,您可以将其添加到对以下内容的调用中exec

" > /dev/null 2>/dev/null &"

这样会将stdio(first >)和stderr2>)都重定向到/dev/null后台并在后台运行。

还有其他方法可以执行相同的操作,但这是最简单的方法。


上述双重重定向的替代方法:

" &> /dev/null &"
2020-05-26