<?php$data=[ '990979940@qq.com', '213123@qq.com', '457567657@qq.com'];//主进程$start_time=microtime(true);//发邮件失败返回给主进程$workers=[];foreach ($data as $v){ // echo '主进程id--'.posix_getpid().PHP_EOL; //主进程被关闭 $process= new swoole\Process('my_process'); //进程创建之前就需要创建队列了 $process->useQueue(1,2|swoole_process::IPC_NOWAIT); $pid=$process->start(); //开启子进程 $process->push('hello 子进程'); //$workers[$pid]=$process echo '主进程打印的内容:'.$process->pop().PHP_EOL; //不要当做管道使用}//子进程创建成功之后要执行的函数,在闭包函数当中执行的逻辑就是在子进程当中执行function my_process($worker){ //echo '子进程id'.$worker->pid.PHP_EOL; echo "来自主进程的消息:". $worker->pop().',来自管道'.$worker->pipe.',当前的进程id为'.$worker->pid.PHP_EOL; $worker->push('hello 主进程'); //不要当做管道使用 $worker->exit();}//有可能产生僵尸进程,通过在主进程捕获子进程结束的信号,回收子进程//子进程结束的信号(必须要做)swoole\Process::signal(SIGCHLD,function (){ while ($res=swoole_process::wait(false)){ var_dump($res); }});