¿Hay alguna manera de detener el servidor Apache sin terminar la ejecución de las solicitudes, básicamente una forma de decirlo: no acepte más conexiones y cierre cuando termine las actuales?
¿Hay alguna manera de detener el servidor Apache sin terminar la ejecución de las solicitudes, básicamente una forma de decirlo: no acepte más conexiones y cierre cuando termine las actuales?
Respuestas:
Usar apachectl -k graceful-stop
desde aquí :
La señal WINCH o graceful-stop hace que el proceso principal aconseje a los niños que salgan después de su solicitud actual (o que salgan inmediatamente si no están sirviendo nada). El padre eliminará su PidFile y dejará de escuchar en todos los puertos. El padre continuará ejecutándose y supervisará a los niños que manejan solicitudes. Una vez que todos los niños hayan finalizado y salido o se haya alcanzado el tiempo de espera especificado por GracefulShutdownTimeout, el padre también saldrá.
Tenga en cuenta que sys-v init solía hacer una parada elegante de forma predeterminada y tenía la opción de forzar parada como una opción adicional. Una opción "especial" para detener con gracia solo es necesaria si ejecuta un administrador de procesos personalizado que normalmente mata los procesos.
/usr/sbin/apachectl stop
systemd
no es un administrador de procesos personalizado, no mata el proceso. Sin embargo, por defecto systemd también realiza unstop
nograceful-stop
para apache.