## 基本的な使用法

この例は、シグナルハンドラを有するデーモンプロセスをフォークします。

例1 プロセス制御の例

    <?php
    pcntl_async_signals(true);

    $pid = pcntl_fork();
    if ($pid == -1) {
         die("fork できません");
    } else if ($pid) {
         exit(); // 親プロセスの場合
    } else {
         // 子プロセスの場合
    }

    // 制御側の端末からデタッチ
    if (posix_setsid() == -1) {
        die("could not detach from terminal");
    }

    // シグナルハンドラを設定
    pcntl_signal(SIGTERM, "sig_handler");
    pcntl_signal(SIGHUP, "sig_handler");

    // 無限ループでタスク実行
    while (1) {

        // 何か面白いことをここで行う

    }

    function sig_handler($signo)
    {

         switch ($signo) {
             case SIGTERM:
                 // 終了タスクを処理
                 exit;
                 break;
             case SIGHUP:
                 // 再起動タスクを処理
                 break;
             default:
                 // その他の全てのシグナルを処理
         }

    }

    ?>

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