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é :
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!