函数名称:pcntl_wexitstatus()
函数描述:pcntl_wexitstatus()函数用于获取子进程的退出状态。
适用版本:该函数在PHP 4.2.0及更高版本中可用。
语法:int pcntl_wexitstatus ( int $status )
参数:
- status: 必需。一个整数,表示子进程的退出状态。
返回值:返回一个整数,表示子进程的退出状态。
示例:
<?php
$pid = pcntl_fork();
if ($pid == -1) {
// 创建子进程失败
die("Could not fork");
} elseif ($pid) {
// 父进程
pcntl_wait($status); // 等待子进程退出
if (pcntl_wifexited($status)) {
$exitStatus = pcntl_wexitstatus($status); // 获取子进程的退出状态
echo "Child process exited with status: $exitStatus";
}
} else {
// 子进程
sleep(2);
exit(5); // 子进程退出并返回状态码5
}
?>
在上面的示例中,我们使用pcntl_fork()函数创建了一个子进程,然后父进程使用pcntl_wait()函数等待子进程退出。在父进程中,我们使用pcntl_wifexited()函数检查子进程是否正常退出,如果是,则使用pcntl_wexitstatus()函数获取子进程的退出状态。最后,我们打印出子进程的退出状态。在子进程中,我们使用exit()函数退出并返回状态码5。
运行上述示例代码,输出结果为:
Child process exited with status: 5
这表明子进程成功退出,并返回了状态码5。