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

pcntl_wtermsig()函数—用法及示例

「 获取由子进程终止所导致的信号编号 」


函数名:pcntl_wtermsig()

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

用法:pcntl_wtermsig() 函数用于获取由子进程终止所导致的信号编号。

语法:int pcntl_wtermsig ( int $status )

参数:

  • status:必需,由 pcntl_waitpid() 或 pcntl_wait() 函数返回的子进程状态。

返回值:

  • 返回一个整数,代表由子进程终止所导致的信号编号。

示例:

<?php
$pid = pcntl_fork();

if ($pid == -1) {
    die('子进程创建失败');
} elseif ($pid) {
    // 父进程代码
    pcntl_wait($status); // 等待子进程退出
    if (pcntl_wifexited($status)) {
        echo "子进程正常退出\n";
    } elseif (pcntl_wifsignaled($status)) {
        $termsig = pcntl_wtermsig($status);
        echo "子进程被信号 {$termsig} 终止\n";
    }
} else {
    // 子进程代码
    sleep(3); // 子进程休眠3秒
    exit(123); // 子进程退出并返回状态码123
}
?>

在上面的示例中,我们首先使用 pcntl_fork() 创建了一个子进程。然后在父进程中使用 pcntl_wait() 等待子进程退出,并通过 pcntl_wtermsig() 函数获取子进程终止所导致的信号编号。最后,根据返回的信号编号进行相应的处理。如果子进程正常退出,则输出 "子进程正常退出",如果子进程被信号终止,则输出 "子进程被信号 {信号编号} 终止"。

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