PHP Conference Japan 2024

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。如果已設定自訂處理器,則會返回該 可呼叫 物件。

更新日誌

版本 說明
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 筆筆記

2
jrdbrndt at gmail dot com
6 年前
值得注意的是,提供無效的訊號號碼會觸發警告並返回 false。
0
MAL
3 年前
如果訊號處理器是一個 Closure,則會返回函數本身

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

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