pcntl_rfork

(PHP 8 >= 8.1.0)

pcntl_rfork - Взаємодіє з ресурсами процесу

Опис

pcntl_rfork(int $flags, int $signal = 0): int

Взаємодіє з ресурсами процесу.

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

flags

Параметрflags визначає, які ресурси процесу (батьківського) поділяються новим процесом (дочірнім) або ініціалізуються в значення за умовчанням.

flags є логічним OR (або) деякого підмножини з:

  • RFPROC: Якщо встановлено, створюється новий процес; інакше зміни зачіпають поточний процес.
  • RFNOWAIT: Якщо встановлено, дочірній процес буде відокремлений від батьківського. При виході дочірній процес не залишатиме статусу для батька, щоб забрати його.
  • RFFDG: Якщо встановлено, копіюється таблиця дескрипторів файлів сторони, що викликає; В іншому випадку два процеси використовують одну таблицю.
  • RFCFDG: Якщо встановлено, новий процес починається з чистої таблиці дескрипторів файлів. Взаємовиключний прапор зRFFDG
  • RFLINUXTHPN: Якщо встановлено, ядро ​​повертатиме SIGUSR1 замість SIGCHILD під час виходу з дочірнього потоку. Призначений для повідомлення батьківського процесу про вихід з клону Linux.

signal

Номер сигналу.

Значення, що повертаються

У разі успішного виконання у потоці виконання батьківського процесу повертається PID дочірнього процесу, а у потоці виконання дочірнього процесу повертається В случае возникновения ошибки в контексте родителя будет возвращено-1, дочірній процес не буде створено і буде видано помилку PHP.

Приклади

Приклад #1 Приклад використання pcntl_rfork()****

Loading...

Висновок наведеного прикладу буде схожим на:

int(77093)
int(0)

Примітки

Зауваження :

Функція доступна лише у системах BSD.

Дивіться також

  • pcntl_fork() - Розгалужити (fork) поточний запущений процес
  • pcntl_waitpid() - Очікує чи повертає статус породженого дочірнього процесу
  • pcntl_signal() - Встановлення оброблювача сигналу
  • cli_set_process_title() - Встановлює заголовок процесу