Files
doc-fr/reference/pcntl/functions/pcntl-wait.xml
2021-09-24 04:13:47 +01:00

145 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 7d05fb0d2022805b44a39bafabca8e85e96659cf Maintainer: dams Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.pcntl-wait" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pcntl_wait</refname>
<refpurpose>Attend ou retourne le statut d'un processus fils</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>pcntl_wait</methodname>
<methodparam><type>int</type><parameter role="reference">status</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter role="reference">resource_usage</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
<function>pcntl_wait</function> suspend l'exécution du processus
courant jusqu'à ce qu'un des processus fils soit terminé, ou qu'un
signal soit envoyé pour terminer le processus courant ou
pour appeler un gestionnaire. Si le processus est déjà terminé au moment
de l'appel de la fonction, c'est-à-dire si le processus est un
zombie, alors la fonction se termine immédiatement. Toutes les
ressources système utilisées par le processus fils sont libérées.
Lisez le manuel de votre système à wait(2) pour avoir des
détails spécifiques sur le fonctionnement de wait() sur celui-ci.
</para>
<note>
<para>
Cette fonction est équivalente à appeler la fonction
<function>pcntl_waitpid</function> avec un <parameter>process_id</parameter>
valant <literal>-1</literal> et aucun <parameter>flags</parameter>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>status</parameter></term>
<listitem>
<para>
<function>pcntl_wait</function> va stocker les informations
de statut dans le paramètre <parameter>status</parameter>
qui peut être lu avec les fonctions suivantes :
<function>pcntl_wifexited</function>,
<function>pcntl_wifstopped</function>,
<function>pcntl_wifsignaled</function>,
<function>pcntl_wexitstatus</function>,
<function>pcntl_wtermsig</function> et
<function>pcntl_wstopsig</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Si wait3 est disponible sur votre système (c'est le cas de la plupart
des systèmes BSD-), vous pouvez ajouter le paramètre optionnel
<parameter>flags</parameter>. S'il n'est pas fourni,
wait() sera utilisé pour l'appel système. Si wait3 n'est pas disponible,
le paramètre <parameter>flags</parameter> n'aura pas d'effet. La valeur
de <parameter>flags</parameter> est la combinaison de zéro ou plusieurs
des constantes suivantes :
<table>
<title>Valeurs possibles pour <parameter>flags</parameter></title>
<tgroup cols="2">
<tbody>
<row>
<entry><literal>WNOHANG</literal></entry>
<entry>
Termine immédiatement si aucun processus ne s'est terminé.
</entry>
</row>
<row>
<entry><literal>WUNTRACED</literal></entry>
<entry>
Termine pour les processus qui sont stoppés, et pour ceux
dont le résultat n'a pas été rapporté.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>pcntl_wait</function> retourne l'identifiant de processus
qui s'est terminé, -1 en cas d'erreur ou zéro si WNOHANG a été
fourni comme option (disponible sur les systèmes wait3),
et qu'aucun processus fils n'était disponible.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pcntl_fork</function></member>
<member><function>pcntl_signal</function></member>
<member><function>pcntl_wifexited</function></member>
<member><function>pcntl_wifstopped</function></member>
<member><function>pcntl_wifsignaled</function></member>
<member><function>pcntl_wexitstatus</function></member>
<member><function>pcntl_wtermsig</function></member>
<member><function>pcntl_wstopsig</function></member>
<member><function>pcntl_waitpid</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
-->