pcntl_fork

現在実行中のプロセスをフォークする

説明

int pcntl_fork()

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_rfork
  • pcntl_waitpid
  • pcntl_signal
  • cli_set_process_title