Constantes pré-définies
<<<
Exemples Voir aussi
>>>

8.93 Contrôle des processus
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
->Exemples
Voir aussi
pcntl_alarm
pcntl_exec
pcntl_fork
pcntl_getpriority
pcntl_setpriority
pcntl_signal
pcntl_wait
pcntl_waitpid
pcntl_wexitstatus
pcntl_wifexited
pcntl_wifsignaled
pcntl_wifstopped
pcntl_wstopsig
pcntl_wtermsig

8.93.7 Exemples

Cet exemple forke un processus démon, avec un gestionnaire de signaux.

Exemple de contrôle de processus

<?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");

?>

<< Exemples >>
Constantes pré-définies Contrôle des processus Voir aussi