Manuel PHP Précédent Suivant Le gestionnaire de contrôle des processus n 'est pas activé par défaut. Il faut utiliser l'option de configuration --enable-pcntl lors de la compilation de PHP pour l 'activer. La liste suivante rassemble tous les signaux qui sont actuellement supportés par les fonctions de gestion des processus de PHP. Reportez vous à votre manuel pour plus de détails sur les comportements de ces signaux. Tableau 1. Signaux supportés SIG_IGN SIGFPE SIGCONT SIG_DFL SIGKILL SIGSTOP SIG_ERR SIGUSR1 SIGTSTP SIGHUP SIGUSR2 SIGTTIN SIGINT SIGSEGV SIGTTOU SIGQUIT SIGPIPE SIGURG SIGILL SIGALRM SIGXCPU SIGTRAP SIGTERM SIGXFSZ SIGABRT SIGSTKFLT SIGVTALRM SIGIOT SIGCHLD SIGPROF SIGBUS SIGCLD SIGWINCH SIGPOLL SIGIO SIGPWR SIGSYS Cet exemple effectue un fork du processus démon grâce à un gestionnaire de signaux. Exemple 1. ?php $pid = pcntl_fork(); if ($pid == -1) {die("could not fork");} else if ($pid) {exit(); / / we are the parent} else {/ / we are the child} / / detatch from the controlling terminal if (!posix_setsid()) {die("could not detach from terminal");} / / setup signal handlers pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); / / loop forever performing tasks while(1) {/ / do something interesting here} function sig_handler($signo) {switch($signo) {case SIGTERM: / / handle shutdown tasks exit; break; case SIGHUP: / / handle restart tasks break; default: / / handle all other signals}}? Précédent Sommaire Suivant Niveau supérieur