函数名:Swoole\Process::wait()
适用版本:Swoole >= 4.4.0
用法:该方法用于等待子进程退出,并返回子进程的退出状态。
示例:
<?php
$process = new Swoole\Process(function (Swoole\Process $worker) {
echo "Child process start\n";
sleep(2);
echo "Child process exit\n";
$worker->exit(0); // 子进程退出,状态码为0
});
$process->start();
// 等待子进程退出并获取退出状态
$status = Swoole\Process::wait();
echo "Child process exit with status: {$status['code']}\n";
说明:
- 首先创建一个子进程,并在子进程中执行一些任务。
- 子进程通过
$worker->exit(0)
退出,传入的状态码为0。 - 主进程使用
Swoole\Process::wait()
等待子进程退出,并返回子进程的退出状态。 - 最后打印子进程的退出状态。
注意事项:
Swoole\Process::wait()
方法只能在父进程中调用。- 如果子进程尚未退出,调用
Swoole\Process::wait()
会导致主进程阻塞。