如何在PHP中运行非阻塞系统调用?
系统调用将调用由第二个PHP脚本运行的流服务。所以我的页面等待这个调用。
我对解决方案的两个想法:
1:存在一个本机方法/参数以非阻塞方式执行系统调用
2:在一个新的c++程序上运行system(),该程序将在sep. thread上fork自己并运行实际的php脚本
是否存在以非阻塞方式执行系统调用的本机方法,或者我是否需要绕过此…
我目前有shell_exec('nohup php/path/to/file.php &'),但它仍然保持
From PHP manual:
如果一个程序是用这个函数启动的,为了使它在后台继续运行,程序的输出必须为重定向到文件或另一个输出流。如果不这样做,将会导致PHP挂起,直到程序执行结束。
在同一页的注释中提供了一个示例(基于linux):
如果你想启动一个继续独立运行的php进程在apache(父pid不同)中使用nohub。例子:
exec('nohup PHP process. PHP>出2>进程。犯错& lt;/dev/null
, ');