1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/reference/pcntl/examples.xml

88 lines
1.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e91b2dd2539f6be30b7db023d880de673fa50b62 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<chapter xml:id="pcntl.examples" xmlns="http://docbook.org/ns/docbook">
&reftitle.examples;
<section xml:id="pcntl.example">
<title>Utilisation simple</title>
<para>
Cet exemple forke un processus démon, avec un gestionnaire de signaux.
</para>
<example>
<title>Exemple de contrôle de processus</title>
<programlisting role="php">
<![CDATA[
<?php
pcntl_async_signals(true);
$pid = pcntl_fork();
if ($pid == -1) {
die("impossible de forker");
} else if ($pid) {
exit(); // nous sommes le processus père
} else {
// nous sommes le processus fils
}
// détachons le processus du terminal
if (posix_setsid() == -1) {
die("impossible de se détacher du terminal");
}
// configuration des gestionnaires de signaux
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
// boucle infinie
while (1) {
// exécution de quelque chose
}
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
// gestion des tâches de terminaison
exit;
break;
case SIGHUP:
// gestion des tâches de redémarrage
break;
default:
// gestion des autres tâches
}
}
?>
]]>
</programlisting>
</example>
</section>
</chapter>
<!-- 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
-->