pcntl_signal() 関数は、signo
が指すシグナルに関するハンドラを設定します。
signo
シグナル番号。
handler
ユーザ定義関数の名前、あるいは次のふたつのグローバル定数 SIG_IGN または SIG_DFL のうちのいずれかとなります。
注意: オブジェクトのメソッドをハンドラとして指定した場合には、 そのハンドラを別のものに変えたりスクリプトが終了したりするまでは オブジェクトの参照カウントが増加しないことに注意しましょう。
restart_syscalls
再起動のシステムコールに対応するかどうかを設定します。デフォルトは TRUE です。
バージョン | 説明 |
---|---|
4.3.0 |
パラメータ restart_syscalls が追加されました。
|
4.3.0 | オブジェクトのメソッドをコールバックとして使用できるようになりました。 |
4.3.0 | PHP 4.3.0 以降、PCNTL はシグナルハンドルコールバックの仕組みとして ticks を使用しており、これは以前の仕組みよりずっと高速です。この変更は "user ticks" を使用するのと同じことです。上の例で示したように、 declare() を使用して プログラム中でコールバックの発生を許可する場所を指定し、シグナルハンドラが 正しく動作するようにする必要があります。 |