pcntl_sigwaitinfo
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — 等待訊號
說明
   pcntl_sigwaitinfo(array 
  $set, array &$siginfo = ?): int
   pcntl_sigwaitinfo()函式暫停呼叫指令碼的執行直到接收到set
   參數中列出的某個訊號。只要其中的一個訊號已經在等待狀態(比如: 通過
   pcntl_sigprocmask()函式阻塞),
   函式pcntl_sigwaitinfo()就回立刻返回。
  
參數
- 
set
- 
      要等待的訊號陣列。 
- 
siginfo
- 
      siginfo是一個輸出參數,用來返回訊號的資訊。以下元素會為所有訊號設定: - signo: 訊號編號
- errno: 錯誤編號
- code: 訊號程式碼
 下面元素可能會為 SIGCHLD訊號設定:- status: 退出的值或訊號
- utime: 使用者消耗的時間
- stime: 系統(內核)消耗的時間
- pid: 發送程序ID
- uid: 發送程序的實際使用者ID
 訊號 SIGILL,SIGFPE,SIGSEGV和SIGBUS可能會被設定的元素:- addr: 發生故障的記憶體位置
 可能會為 SIGPOLL訊號設定的元素:- band: Band event
- fd: 檔案描述符
 
返回值
成功時,函式pcntl_sigwaitinfo()返回一個訊號編號。
範例
示例 #1 pcntl_sigwaitinfo() example
<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>