PHP库轻松创建进程(fork)

时间:2012-04-13 07:47:26

标签: php fork

您是否知道任何易于处理流程,信号发送等的库?提前谢谢!

编辑: 我们正在PHP守护进程中从外部源加载一些数据。我们想要将PHP流程拆分为:

  • 每个数据源加载一个进程,
  • 处理来自每个数据源的数据的一个过程。

2 个答案:

答案 0 :(得分:3)

您可能需要查看Spork,它旨在简化php中的分叉和后台处理。

它很新(仅在3天前宣布),但值得一试。

答案 1 :(得分:2)

您可以使用process control库,但它仅适用于Linux。

对于fork目的,它包含pcntl_fork函数。 Example

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
} else {
     // we are the child
}

UPD:如果我正确理解您的目标,您可以设计应用程序,而无需考虑流程。您可以使用两个守护进程,其中第一个守护进程将处理数据源并将其添加到队列中。第二个守护进程将跟踪队列并对其进行处理。

P.S。据我所知,php无法在Windows平台上进行fork进程。另外,您可以在php中使用POSIX function