(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — シグナルを待つ
$signals
, array &$info
= []): int|false
pcntl_sigwaitinfo() は、
呼び出し元のスクリプトの実行をいったん停止させ、signals
で指定したシグナルを受け取るまで待ちます。もしそのシグナルのいずれかがすでにペンディング状態
(pcntl_sigprocmask() でブロックされているなど) の場合、
pcntl_sigwaitinfo() は即時に結果を返します。
signals
待つシグナルの配列。
info
シグナルについての情報を含む配列が info
に設定されます。
次の要素は、すべてのシグナルについて設定されます。
次の要素は、SIGCHLD
シグナルの場合に設定されます。
次の要素は、SIGILL
、
SIGFPE
、SIGSEGV
および
SIGBUS
シグナルの場合に設定されます。
次の要素は、SIGPOLL
シグナルの場合に設定されます。
成功した場合にシグナル番号を返します。
失敗した場合に false
を返します
例1 pcntl_sigwaitinfo() の例
<?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);
?>