pcntl_fork
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
pcntl_fork — 現在実行中のプロセスをフォークする
説明
pcntl_fork ( ) : int
pcntl_fork() 関数は、親プロセスとその PID および PPID のみが異なる子プロセスを生成します。システム上でのフォークの 動作の具体的な詳細については、実行するシステムの fork(2) の マニュアルを参照ください。
返り値
成功時に、子プロセスの PID が親プロセスの実行スレッドに返され、 子プロセスの実行スレッドには 0 が返されます。失敗した場合、親プロセスの コンテキストに -1 が返され、子プロセスは生成されずに、PHP のエラーが 出力されます。
例
例1 pcntl_fork() の例
<?php$pid = pcntl_fork();if ($pid == -1) { die('fork できません');} else if ($pid) { // 親プロセスの場合 pcntl_wait($status); // ゾンビプロセスから守る} else { // 子プロセスの場合}?>
参考
- pcntl_waitpid() - 待つかフォークした子プロセスのステータスを返す
- pcntl_signal() - シグナルハンドラを設定する
- setproctitle() - プロセスのタイトルを設定