pcntl_signal_get_handler

(PHP 7 >= 7.1.0, PHP 8)

pcntl_signal_get_handler获取指定信号的当前处理程序

说明

pcntl_signal_get_handler(int $signal): callable|int

pcntl_signal_get_handler() 函数将获取指定 signal 的当前处理程序。

参数

signal

信号编号。

返回值

此函数可能返回一个整数,该整数是指向 SIG_DFLSIG_IGN。如果已设置自定义处理程序,则返回该 callable

变更日志

版本 说明
7.1.0 pcntl_signal_get_handler() 已添加。

示例

示例 #1 pcntl_signal_get_handler() 示例

<?php
var_dump
(pcntl_signal_get_handler(SIGUSR1)); // 输出:int(0)

function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // 输出:string(10) "pcntl_test"

pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // 输出:int(0)

pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // 输出:int(1)
?>

参见

添加备注

用户贡献的备注 2 个备注

jrdbrndt at gmail dot com
6 年前
值得注意的是,提供无效的信号编号将触发警告并返回 false。
MAL
3 年前
如果信号处理程序是闭包,则返回函数本身

pcntl_signal(SIGHUP, function ($signo, $siginfo) {
echo SIGHUP;
});

var_dump(pcntl_signal_get_handler(SIGHUP)); // 输出:string(6) "SIGHUP"
To Top