pcntl_fork

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

pcntl_forkРазветвить (fork) текущий запущенный процесс

Описание

pcntl_fork(): int

Функция pcntl_fork() создаёт дочерний процесс, который отличается от родительского процесса только его PID и PPID. Пожалуйста обратитесь к вашему системному руководству (man) fork(2) для ознакомления со спецификой работы fork на вашей системе.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

В случае успешного выполнения, PID дочернего процесса будет возвращён в родительском потоке (thread) запуска и 0 будет возвращён в дочернем потоке запуска. В случае возникновения ошибки, в родительский контекст будет возвращено -1, дочерний процесс создан не будет и PHP сгенерирует соответствующую ошибку.

Примеры

Пример #1 Пример pcntl_fork()

<?php

$pid
= pcntl_fork();
if (
$pid == -1) {
die(
'Не удалось породить дочерний процесс');
} else if (
$pid) {
// Код родительского процесса
pcntl_wait($status); // Защита против дочерних "Зомби"-процессов
} else {
// Код дочернего процесса
}

?>

Смотрите также

  • pcntl_rfork() - Взаимодействует с ресурсами процесса
  • pcntl_waitpid() - Ожидает или возвращает статус порождённого дочернего процесса
  • pcntl_signal() - Установка обработчика сигнала
  • cli_set_process_title() - Устанавливает заголовок процесса
To Top