Uso simple

Este ejemplo forkea un proceso demonio, con un gestor de señales.

Ejemplo #1 Ejemplo de control de procesos

<?php
pcntl_async_signals
(true);

$pid = pcntl_fork();
if (
$pid == -1) {
die(
"imposible de forkear");
} else if (
$pid) {
exit();
// somos el proceso padre
} else {
// somos el proceso hijo
}

// desvinculemos el proceso del terminal
if (posix_setsid() == -1) {
die(
"imposible de desvincularse del terminal");
}

// configuración de los gestores de señales
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// bucle infinito
while (1) {

// ejecución de algo

}

function
sig_handler($signo)
{

switch (
$signo) {
case
SIGTERM:
// gestión de las tareas de terminación
exit;
break;
case
SIGHUP:
// gestión de las tareas de reinicio
break;
default:
// gestión de otras tareas
}

}

?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top