从PHP命令行脚本生成多个进程

时间:2011-05-06 17:09:48

标签: php command-line-interface

我有用PHP编写的自定义构建系统。它类似于 make 工具,收集带有依赖项的源文件来编译和链接它们。

它使用系统功能来运行G ++,如下所示:

    system("g++ -c $file -o $out");

它运作良好。但是我有一个多核处理器,我想使用这些额外的核心来加速这个过程(比如 make -j 8 )。我怎么能在PHP中做到这一点?我本身不需要PHP中的多线程,我只需要生成一些子进程并等待它们完成。

1 个答案:

答案 0 :(得分:0)

由于这通常是PHPs CLI版本的内置版本,因此您可以使用pcntl_fork()。它将当前的PHP进程复制到子进程中,然后可以与父进程分开工作。

请参阅手册页上的示例。

(您也可以利用PEAR System_Daemon封装该功能;虽然它对您的情况有点太多了。)