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

Если родительский процесс PHP скрипта будет завершён по какой-либо причине, то умрёт ли вместе с ним дочерний, созданный через pcntl_fork()?
  • Вопрос задан
  • 372 просмотра
Решения вопроса 1
bitrixd
@bitrixd
Нет, не умрет. pcntl_fork() делает копию родительского процесса который работает самостоятельно.

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


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

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

Войти через центр авторизации
Похожие вопросы