Задать вопрос

Умрёт ли дочерний процесс php после завершения основного?

Если родительский процесс PHP скрипта будет завершён по какой-либо причине, то умрёт ли вместе с ним дочерний, созданный через pcntl_fork()?
  • Вопрос задан
  • 407 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
Решения вопроса 1
bitrixd
@bitrixd
Нет, не умрет. pcntl_fork() делает копию родительского процесса который работает самостоятельно.

$pid = pcntl_fork();
if ($pid == -1) {
    echo "fork error\n";
    exit;
} elseif ($pid > 0) {
    // завершаем работу родительского процесса
    exit;
}


В результате работы такого кода например, основной процесс будет убит сразу после запуска дочернего процесса. Собственно так реализуется отвязка от терминала.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы