1创建子进程函数
原型
swoole_process::__construct(callable $function, bool $redirect_stdin_stdout = false,
int $pipe_type = SOCK_DGRAM, bool $enable_coroutine = false);
如:
第一个参数:指定的回调函数
第二个参数:是否启用管道通信
$process = new swoole_process(‘my_process’,true);
2、启动子进程
$pid = $process->start();
$pid 返回进程的pid
3、父进程回收子进程Wait
swoole_process::wait(); 防止进程变成僵尸进程
4、父子进程的通信方式: {
1、管道
Ps:默为阻塞模式,改为异步,可通过异步IO(swoole_event_add())实现
$process->write()//往管道中写入数据
$process->read();//读数据
2、消息队列:
$process->useQueue();
$process->push();//写入
$process->pop();//读取
}
5、在多进程中,连接mysql的注意事项
父进程和子进程不能共享同一个连接,会导致mysql gone way 。
每个进程都必须自己开启一个连接。