mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 08:28:54 +00:00
[PHP 8.1] Add pcntl_rfork description (#1033)
This commit is contained in:
parent
432e2731ee
commit
58c419eb2e
3 changed files with 147 additions and 0 deletions
|
@ -66,6 +66,7 @@ if ($pid == -1) {
|
|||
&reftitle.seealso;
|
||||
<para>
|
||||
<simplelist>
|
||||
<member><function>pcntl_rfork</function></member>
|
||||
<member><function>pcntl_waitpid</function></member>
|
||||
<member><function>pcntl_signal</function></member>
|
||||
<member><function>cli_set_process_title</function></member>
|
||||
|
|
145
reference/pcntl/functions/pcntl-rfork.xml
Normal file
145
reference/pcntl/functions/pcntl-rfork.xml
Normal file
|
@ -0,0 +1,145 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<refentry xml:id="function.pcntl-rfork" xmlns="http://docbook.org/ns/docbook">
|
||||
<refnamediv>
|
||||
<refname>pcntl_rfork</refname>
|
||||
<refpurpose>Manipulates process resources</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1 role="description">
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<type>int</type><methodname>pcntl_rfork</methodname>
|
||||
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>signal</parameter><initializer>0</initializer></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Manipulates process resources.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>flags</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The <parameter>flags</parameter> parameter determines which resources of the invoking process (parent)
|
||||
are shared by the new process (child) or initialized to their default values.
|
||||
</para>
|
||||
<para>
|
||||
<parameter>flags</parameter> is the logical OR of some subset of:
|
||||
<simplelist>
|
||||
<member>
|
||||
<constant>RFPROC</constant>: If set a new process is created;
|
||||
otherwise changes affect the current process.
|
||||
</member>
|
||||
<member>
|
||||
<constant>RFNOWAIT</constant>: 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.
|
||||
</member>
|
||||
<member>
|
||||
<constant>RFFDG</constant>: If set, the invoker's file descriptor table is copied;
|
||||
otherwise the two processes share a single table.
|
||||
</member>
|
||||
<member>
|
||||
<constant>RFCFDG</constant>: If set, the new process starts with a clean file descriptor table.
|
||||
Is mutually exclusive with <literal>RFFDG</literal>.
|
||||
</member>
|
||||
<member>
|
||||
<constant>RFLINUXTHPN</constant>: 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.
|
||||
</member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>signal</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The signal number.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
On success, the PID of the child process is returned in the
|
||||
parent's thread of execution, and a <literal>0</literal> is returned in the child's
|
||||
thread of execution.
|
||||
On failure, a <literal>-1</literal> will be returned in the
|
||||
parent's context, no child process will be created, and a PHP error is raised.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="examples">
|
||||
&reftitle.examples;
|
||||
<para>
|
||||
<example>
|
||||
<title><function>pcntl_rfork</function> example</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?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"
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
&example.outputs.similar;
|
||||
<screen>
|
||||
<![CDATA[
|
||||
int(77093)
|
||||
int(0)
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<para>
|
||||
<simplelist>
|
||||
<member><function>pcntl_fork</function></member>
|
||||
<member><function>pcntl_waitpid</function></member>
|
||||
<member><function>pcntl_signal</function></member>
|
||||
<member><function>cli_set_process_title</function></member>
|
||||
</simplelist>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-omittag:t
|
||||
sgml-shorttag:t
|
||||
sgml-minimize-attributes:nil
|
||||
sgml-always-quote-attributes:t
|
||||
sgml-indent-step:1
|
||||
sgml-indent-data:t
|
||||
indent-tabs-mode:nil
|
||||
sgml-parent-document:nil
|
||||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||||
sgml-exposed-tags:nil
|
||||
sgml-local-catalogs:nil
|
||||
sgml-local-ecat-files:nil
|
||||
End:
|
||||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
|
@ -11,6 +11,7 @@
|
|||
<function name="pcntl_fork" from="PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8"/>
|
||||
<function name="pcntl_getpriority" from="PHP 5, PHP 7, PHP 8"/>
|
||||
<function name="pcntl_get_last_error" from="PHP 5 >= 5.3.4, PHP 7, PHP 8"/>
|
||||
<function name="pcntl_rfork" from="PHP 8 >= 8.1.0"/>
|
||||
<function name="pcntl_setpriority" from="PHP 5, PHP 7, PHP 8"/>
|
||||
<function name="pcntl_signal" from="PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8"/>
|
||||
<function name="pcntl_signal_dispatch" from="PHP 5 >= 5.3.0, PHP 7, PHP 8"/>
|
||||
|
|
Loading…
Reference in a new issue