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() - Встановлює заголовок процесу