pcntl_rfork
(PHP 8 >= 8.1.0)
pcntl_rfork — Manipulates process resources
参数
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.
返回值
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.
示例
示例 #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)
注释
注意:
This function is only available on BSD systems.
参见
- pcntl_fork() - 在当前进程当前位置产生分叉(fork)
- pcntl_waitpid() - 等待或返回 fork 的子进程状态
- pcntl_signal() - 安装信号处理程序
- cli_set_process_title() - Sets the process title
+添加备注
用户贡献的备注
此页面尚无用户贡献的备注。