If the signal handler is a Closure, the function itself is returned:
pcntl_signal(SIGHUP, function ($signo, $siginfo) {
echo SIGHUP;
});
var_dump(pcntl_signal_get_handler(SIGHUP)); // Outputs: string(6) "SIGHUP"
(PHP 7 >= 7.1.0, PHP 8)
pcntl_signal_get_handler — Get the current handler for specified signal
The pcntl_signal_get_handler() function will get the current handler for the specified signo
.
signo
The signal number.
This function may return an integer value that refers to SIG_DFL
or SIG_IGN
. If you set a custom handler a string value containing the function name is returned.
版本 | 说明 |
---|---|
7.1.0 | pcntl_signal_get_handler() has been added. |
Example #1 pcntl_signal_get_handler() example
<?php
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)
function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: string(10) "pcntl_test"
pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)
pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(1)
?>
If the signal handler is a Closure, the function itself is returned:
pcntl_signal(SIGHUP, function ($signo, $siginfo) {
echo SIGHUP;
});
var_dump(pcntl_signal_get_handler(SIGHUP)); // Outputs: string(6) "SIGHUP"
It is worth noting that supplying an invalid signal number will trigger a warning and return false.