Obtenir le PID d’un process lancé en php via un exec

Suite à l’article « Exécuter une action en fond de tâche en php » je vais vous donner la ligne de commande vous permettant d’obtenir le PID du processus lancé.

Le fork ne pose pas de difficulté puisque la fonction pcntl_fork retourne déjà le PID.

Lors d’un exec il faut rajouter des paramètres à la fin de la ligne de commande ce qui donne :

exec('php /var/www/mon_script.php' > /dev/null 2>&1 & echo $!', $op);
$pid = (int)$op[0];

 

Mise en pratique
Une fois le PID enregistré en base, il est plus facile de retrouver un processus lancé ou de la killer si celui ci vient de planter.


Commenter

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *