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

# pcntl_fork

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

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

### 説明

function 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_rfork() - プロセスのリソースを管理する
- pcntl_waitpid() - 待つかフォークした子プロセスのステータスを返す
- pcntl_signal() - シグナルハンドラを設定する
- cli_set_process_title() - プロセスのタイトルを設定する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open