Maison  >  Article  >  cadre php  >  Que dois-je faire si Workman ne peut pas être fermé ?

Que dois-je faire si Workman ne peut pas être fermé ?

藏色散人
藏色散人original
2019-12-18 15:56:512717parcourir

Que dois-je faire si Workman ne peut pas être fermé ?

ouvrier Que dois-je faire s'il ne peut pas être fermé ?

Problème : l'exécution de Worker::stopAll() dans le script de démarrage n'arrête pas workererman. Worker::stopAll() n'est efficace que lorsqu'il est exécuté dans le processus principal exécutant workerman. les processus n’ont aucun effet.

Le processus d'arrêt de Workerman est

1. Recherchez le pid du processus principal de Workerman

2. Envoyez le signal SIGINT au pid (posix_kill( SIGINT, pid) )

3. Une fois que le processus principal du travailleur a reçu le signal SIGINT, il exécute Worker::stopAll() pour terminer l'arrêt du service.

Ces trois étapes doivent être encapsulées dans Workerman. Le processus d'appel est

1 Set $argv = 'stop'; Worker::runAll();

Recommandé :

tutoriel Workerman

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn