Existe-t-il un moyen d'arrêter le serveur Apache sans terminer l'exécution des requêtes, essentiellement un moyen de le dire - n'acceptez plus de connexions et fermez-vous lorsque vous avez terminé vos connexions actuelles?
Utilisez apachectl -k graceful-stop
d' ici :
Le signal WINCH ou graceful-stop oblige le processus parent à conseiller aux enfants de quitter après leur demande en cours (ou de quitter immédiatement s'ils ne servent rien). Le parent supprimera alors son PidFile et cessera d'écouter sur tous les ports. Le parent continuera à s'exécuter et surveillera les enfants qui traitent les demandes. Une fois que tous les enfants ont finalisé et quitté ou que le délai spécifié par GracefulShutdownTimeout a été atteint, le parent quitte également.
Gardez à l'esprit que sys-v init faisait par défaut un arrêt gracieux et avait forcé l'arrêt comme option supplémentaire. Une option «spéciale» pour arrêter gracieusement n'est nécessaire que si vous exécutez un gestionnaire de processus personnalisé qui tue normalement les processus.
systemd
n'étant pas un gestionnaire de processus personnalisé, il ne tue pas le processus. Cependant, par défaut, systemd effectue également unstop
pasgraceful-stop
pour apache./usr/sbin/apachectl stop