swoole_process('执行的文件路径','文件所需的参数');//利用swoole-process执行一个外部脚本 swoole_process__construct(回调函数, redirect_stdin_stdout, 是否建立进程通讯用的管道) 参数redirect_stdin_stdout 值为true子进程返回的结果不输出到屏幕,false输出到屏幕 swoole_process::wait()//程序执行完毕后,回收子进程
<?php $server = new swoole_http_server('127.0.0.1',9502); $server->on('request',function($request,$response){ $response->end("there is a game of love"); }); $server->start(); ?>
<?php //每一个进程都有一个进程ID $sw = new swoole_process(function(swoole_process $sw){ $sw->exec('/usr/bin/php7',[__DIR__.'/../myhttpserver/myhttpserver.php']); },false); $pid =$sw->start(); echo $pid.PHP_EOL; swoole_process::wait(); #等待程序运行完毕后,回收子进程
下图所示正是脚本文件swprocess.php中实例化的swoole_process进程也就是$pid = $sw->start()返回的那个$pid
这段代码用于查看运行swprocess.php的进程信息,由此能够看出,进程号12430是12431(swprocess.php脚本中开启的那段swoole_process)的父进程
这里的myhttpserver就是脚本swprocess.php中开启子进程执行($sw->exec())的swoole_http_server进程,也就是运行myhttpserver.php的那个进程