PHP运行非阻塞系统调用


PHP run a non blocking system call

如何在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

, ');