PHP fork进程 - 在父级中获取子输出

wor*_*ise 3 php fork

我想实现以下目标:

初始化一个数组.子进程将一些元素添加到数组中.父进程向数组添加一些元素.最后在退出之前,打印所有元素.

以下是我写的代码:

<?php
$values=array();
$pid = pcntl_fork();
if (!$pid) {
   sleep(2);
   $values[]="Put by child";
   exit(0);
}
$values[]="Put by parent";
pcntl_waitpid($pid, $status);
print_r($values);
?>
Run Code Online (Sandbox Code Playgroud)

但是,它只打印一个值 - Put by parent.有人可以解释一下这种行为并建议正确的代码吗?

此致,JP

小智 6

(对不起交叉)

我建议看一下socket_create_pair().

PHP手册是fork() - 父级和子级之间进程间通信(IPC)的一个非常简短的例子.

并使用serialize()unserialize()您甚至可以传输复杂的数据类型,如数组...