pcntl_sigwaitinfo
(PHP 5 >= 5.3.0)
pcntl_sigwaitinfo — シグナルを待つ
説明
int pcntl_sigwaitinfo
( array $set
[, array &$siginfo
] )
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: バンドイベント
- fd: ファイル記述子番号
返り値
成功した場合に pcntl_sigwaitinfo() はシグナル番号を返します。
例
例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);
?>
pcntl_sigwaitinfo
There are no user contributed notes for this page.
