CakeFest 2024: The Official CakePHP Conference

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_DFL または SIG_IGN が参照する数値を返す可能性があります。 カスタムハンドラを設定している場合は、callable を返します。

変更履歴

バージョン 説明
7.1.0 pcntl_signal_get_handler() 関数が追加されました。

例1 pcntl_signal_get_handler() の例

<?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)
?>

参考

add a note

User Contributed Notes 2 notes

up
2
jrdbrndt at gmail dot com
6 years ago
It is worth noting that supplying an invalid signal number will trigger a warning and return false.
up
0
MAL
3 years ago
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"
To Top