## Базовое применение

Пример порождает процесс-демон с обработчиком сигналов

Пример #1 Пример Управления процессами

    <?php

    pcntl_async_signals(true);

    $pid = pcntl_fork();
    if ($pid == -1) {
         die("Не удалось породить процесс");
    } else if ($pid) {
         exit(); // Это код родителя
    } else {
         // Это дочерний код
    }

    // Открепление от управляющего терминала
    if (posix_setsid() == -1) {
        die("Не удалось открепить от терминала");
    }

    // Установка обработчиков сигналов
    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