pcntl_rfork
(PHP 8 >= 8.1.0)
pcntl_rfork — Manipulates process resources
Beschreibung
$flags, int $signal = 0): intManipulates process resources.
Parameter-Liste
-
flags -
The
flagsparameter determines which resources of the invoking process (parent) are shared by the new process (child) or initialized to their default values.flagsis the logical OR of some subset of:-
RFPROC: If set a new process is created; otherwise changes affect the current process. -
RFNOWAIT: If set, the child process will be dissociated from the parent. Upon exit the child will not leave a status for the parent to collect. -
RFFDG: If set, the invoker's file descriptor table is copied; otherwise the two processes share a single table. -
RFCFDG: If set, the new process starts with a clean file descriptor table. Is mutually exclusive withRFFDG. -
RFLINUXTHPN: If set, the kernel will return SIGUSR1 instead of SIGCHILD upon thread exit for the child. This is intended to do Linux clone exit parent notification.
-
-
signal -
The signal number.
Rückgabewerte
On success, the PID of the child process is returned in the
parent's thread of execution, and a 0 is returned in the child's
thread of execution.
On failure, a -1 will be returned in the
parent's context, no child process will be created, and a PHP error is raised.
Beispiele
Beispiel #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"
}
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
int(77093) int(0)
Siehe auch
- pcntl_fork() - Verzweigt den laufenden Prozess
- pcntl_waitpid() - Wartet auf ein oder gibt den Status eines abgezweigten Kindes zurück
- pcntl_signal() - Richtet eine Signalverarbeitung ein
- cli_set_process_title() - Sets the process title

