<?php
$pid = pcntl_fork(); if ($pid == -1) { die("impossible de forker"); } elseif ($pid) { exit(); // nous sommes le processus père } else { //nous sommes le processus fils }
// détachons le processus du terminal if (!posix_setsid()) { die("impossible de se détacher du terminal"); }
// 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 }
}
// configuration des gestinnaires de signaux pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler");
?>
|