ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## Process->start 执行`fork`系统调用,启动进程。 ~~~ function swoole_process->start() : int ~~~ 创建成功返回子进程的`PID`,创建失败返回`false`。可使用`swoole_errno`和`swoole_strerror`得到错误码和错误信息。 * `$process->pid`属性为子进程的`PID` * `$process->pipe`属性为管道的文件描述符 * 子进程会继承父进程的内存和文件句柄 * 子进程在启动时会清除从父进程继承的`EventLoop`、`Signal`、`Timer` ## 实例 ~~~ $redis = new $redis; $redis->connect('127.0.0.1', 6379); function callback_function () { swoole_timer_after(10000, function () { echo "hello world"; }); global $redis; }; swoole_timer_tick(1000, function () { echo "parent timer\n"; }); swoole_process::signal(SIGCHLD, function ($sig) { while ($ret = Swoole\Process::wait(false)) { // create a new child process $p = new Swoole\Process('callback_function'); $p->start(); } }); // create a new child process $p = new Swoole\Process('callback_function'); swoole_event_add($p->pipe, function ($pipe) use ($p) { echo $p->read(); }); $p->start(); ~~~