PHP Conference Japan 2024

pcntl_sigprocmask

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigprocmask設定與檢索被封鎖的訊號

描述

pcntl_sigprocmask(int $mode, array $signals, array &$old_signals = null): bool

pcntl_sigprocmask() 函式會根據 mode 參數,新增、移除或設定被封鎖的訊號。

參數

mode

設定 pcntl_sigprocmask() 的行為。可能的值為

  • SIG_BLOCK:將訊號新增至目前被封鎖的訊號。
  • SIG_UNBLOCK:從目前被封鎖的訊號中移除訊號。
  • SIG_SETMASK:以給定的訊號列表取代目前被封鎖的訊號。

signals

訊號列表。

old_signals

old_signals 參數會設定為包含先前被封鎖訊號列表的陣列。

回傳值

成功時回傳 true,失敗時回傳 false

變更紀錄

版本 描述
8.4.0 如果 signal 為空,則會拋出 ValueError
8.4.0 如果 signal 值不是 int,則會拋出 TypeError
8.4.0 如果 signal 值無效,則會拋出 ValueError
8.4.0 如果 mode 值不是 SIG_BLOCKSIG_UNBLOCKSIG_SETMASK,則會拋出 ValueError

範例

範例 1 pcntl_sigprocmask() 範例

<?php
pcntl_sigprocmask
(SIG_BLOCK, array(SIGHUP));
$oldset = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
?>

參見

新增註解

使用者貢獻的註解

此頁面尚無使用者貢獻的註解。
To Top