pcntl_rfork
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pcntl_rfork
Референца за `function.pcntl-rfork.php` со подобрена типографија и навигација.
pcntl_rfork
(PHP 8 >= 8.1.0)
pcntl_rfork — (PHP 8 >= 8.1.0)
Параметри
flags-
На
flagsМанипулира со ресурсите на процесот.flagsпараметарот одредува кои ресурси на повикувачкиот процес (родител) се споделуваат од новиот процес (дете) или се иницијализираат на нивните стандардни вредности.-
RFPROCе логично ИЛИ од некој подмножество од: -
RFNOWAIT: Ако е поставено, се создава нов процес; инаку промените влијаат на тековниот процес. -
RFFDG: Ако е поставено, детето процес ќе биде одвоен од родителот. При излегување детето нема да остави статус за родителот да го собере. -
RFCFDG: Ако е поставено, табелата со дескриптори на датотеки на повикувачот се копира; инаку двата процеси споделуваат една табела.RFFDG. -
RFLINUXTHPN: Ако е поставено, новиот процес започнува со чиста табела со дескриптори на датотеки. Е меѓусебно исклучиво со
-
signal-
Бројот на сигналот.
Вратени вредности
: Ако е поставено, кернелот ќе врати SIGUSR1 наместо SIGCHILD при излегување на нишката за детето. Ова е наменето да го извести родителот за излегувањето на нишката на Linux clone. 0 При успех, PID на детето процес се враќа во нишката на извршување на родителот, и -1 се враќа во нишката на извршување на детето. При неуспех,
Примери
Пример #1 pcntl_rfork() example
<?php
$pid = pcntl_rfork(RFNOWAIT|RFTSIGZMB, SIGUSR1);
if ($pid > 0) {
// This is the parent process.
var_dump($pid);
} else {
// This is the child process.
var_dump($pid);
sleep(2); // as the child does not wait, so we see its "pid"
}
?>Горниот пример ќе прикаже нешто слично на:
int(77093) int(0)
Белешки
Забелешка:
ќе се врати во контекстот на родителот, нема да се создаде дете процес и ќе се подигне PHP грешка.
Види Исто така
- pcntl_fork() - Форкира тековно активен процес
- pcntl_waitpid() - Чека или враќа статус на форкирано дете
- pcntl_signal() - Инсталира обработувач на сигнали
- cli_set_process_title() - Поставува титула на процесот