1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-26 08:48:12 +02:00
Files
archived-doc-ru/reference/pcntl/examples.xml
T
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

87 lines
2.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: aebf045bfb7f4f2350db5e1e908cf290be334075 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="pcntl.examples" xmlns="http://docbook.org/ns/docbook">
&reftitle.examples;
<section xml:id="pcntl.example">
<title>Базовое применение</title>
<para>
Этот пример порождает процесс-демон с обработчиком сигналов
</para>
<example>
<title>Пример Управления процессами</title>
<programlisting role="php">
<![CDATA[
<?php
declare(ticks=1);
$pid = pcntl_fork();
if ($pid == -1) {
die("Не удалось породить процесс");
} else if ($pid) {
exit(); // это код родителя
} else {
// это дочерний код
}
// Открепление от управляющего терминала
if (posix_setsid() == -1) {
die("Не удалось открепить от терминала");
}
// Установка обработчиков сигналов
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
// Бесконечный цикл выполнения задач
while (1) {
// делаем тут что-то интересное
}
function sig_handler($signo)
{
switch ($signo) {
case SIGTERM:
// обработка сигнала завершения
exit;
break;
case SIGHUP:
// обработка перезапуска задач
break;
default:
// обработка других сигналов
}
}
?>
]]>
</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
-->