[英]Spawning multiple processes from PHP command-line script
我有用PHP编写的自定义构建系统。 它与make工具类似,收集具有依赖项的源文件以编译和链接它们。
它使用系统函数来运行G ++,如下所示:
system("g++ -c $file -o $out");
它工作得很好。 但是我有一个多核处理器,我想使用这些额外的核心来加速这个过程(比如make -j 8 )。 我怎么能在PHP中做到这一点? 我本身不需要在PHP中使用多线程,我只需要生成一些子进程并等待它们完成。
由于这通常内置于PHP CLI版本,因此您可以使用pcntl_fork()
。 它将当前的PHP进程复制到子进程中,然后可以与父进程分开工作。
请参见手册页上的示例。
(您也可以使用封装该功能的PEAR System_Daemon ;虽然它对您的情况有点太多了。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.