English | 简体中文 | 繁體中文
查询

pcntl_wifexited()函数—用法及示例

「 检查子进程是否正常退出 」


函数名称:pcntl_wifexited()

函数描述:用于检查子进程是否正常退出

适用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7

语法:bool pcntl_wifexited ( int $status )

参数:

  • status:子进程的退出状态

返回值:

  • 如果子进程正常退出,则返回 true,否则返回 false

示例:

<?php
$pid = pcntl_fork();

if ($pid == -1) {
    die('无法创建子进程');
} elseif ($pid == 0) {
    // 子进程执行的代码
    echo "这是子进程\n";
    exit(0); // 正常退出子进程
} else {
    // 父进程执行的代码
    pcntl_wait($status); // 等待子进程退出
    if (pcntl_wifexited($status)) {
        echo "子进程正常退出\n";
    } else {
        echo "子进程异常退出\n";
    }
}
?>

解释:

  • 在示例中,我们通过调用pcntl_fork()函数创建了一个子进程。子进程中使用了exit(0)语句来正常退出进程。
  • 父进程通过调用pcntl_wait()函数等待子进程退出,并通过pcntl_wifexited()函数来检查子进程是否正常退出。
  • 如果子进程正常退出,则pcntl_wifexited()函数返回 true,父进程输出"子进程正常退出";否则,返回 false,父进程输出"子进程异常退出"。
  • 注意,pcntl_fork()pcntl_wait()pcntl_wifexited()函数都是在支持 POSIX 扩展的环境中可用。
补充纠错
上一个函数: pcntl_wifsignaled()函数
下一个函数: pcntl_wexitstatus()函数
热门PHP函数
分享链接