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

pcntl_wifstopped()函数—用法及示例

「 检查进程是否由于信号而停止 」


函数名称:pcntl_wifstopped()

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

函数说明:pcntl_wifstopped()函数用于检查进程是否由于信号而停止。

用法: bool pcntl_wifstopped ( int $status )

参数说明:

  • status:进程的状态。

返回值: 如果进程由于信号而停止,则返回TRUE;否则返回FALSE。

示例:

<?php
// 创建一个子进程
$pid = pcntl_fork();

if ($pid == -1) {
    // 创建子进程失败
    exit("无法创建子进程");
} elseif ($pid) {
    // 父进程
    pcntl_waitpid($pid, $status, WUNTRACED);
    
    if (pcntl_wifstopped($status)) {
        echo "子进程被信号停止\n";
    } else {
        echo "子进程未被信号停止\n";
    }
} else {
    // 子进程
    sleep(5);
    exit();
}
?>

在上述示例中,我们首先创建了一个子进程,并使用pcntl_waitpid()函数等待子进程的结束。然后,我们使用pcntl_wifstopped()函数来检查子进程是否由于信号而停止。如果子进程被信号停止,将输出"子进程被信号停止";否则,将输出"子进程未被信号停止"。

请注意,pcntl_wifstopped()函数只能在类Unix系统下使用,因为Windows系统不支持进程间通信。

补充纠错
上一个函数: pcntl_wstopsig()函数
下一个函数: pcntl_wifsignaled()函数
热门PHP函数
分享链接