在Swoole中通过swoole_process 类来创建子进程,构造函数原型如下:
1、$function 是一个回调函数,子进程创建成功后执行此回调函数
2、$redirect_stdin_stdout 参数可以重定向子进程的标准输入和输出
3、$pipe_type 为管道类型
具体参数含义可以参考Swoole官方文档,下面我们将在一个进程中创建子进程,并进行进程间通信。
在命令行执行 php process.php,运行后的结果如下:
这就是进程之间通过管道通信的例子,创建子进程,并设定回调函数。Event::add 将管道文件描述符 $process->pipe 加入到事件循环中。第一行输出的hello world 是回调函数输出的,而 read:aaaaaa 是事件循环执行时从管道里读出的数据。