Existe uma maneira de parar o servidor Apache sem encerrar a execução de solicitações, basicamente uma maneira de dizer a ele - não aceite mais conexões e desligue quando terminar as atuais?
Existe uma maneira de parar o servidor Apache sem encerrar a execução de solicitações, basicamente uma maneira de dizer a ele - não aceite mais conexões e desligue quando terminar as atuais?
Respostas:
Use apachectl -k graceful-stop
a partir daqui :
O sinal WINCH ou de parada normal faz com que o processo pai avise os filhos a sair após a solicitação atual (ou a sair imediatamente se não estiverem servindo nada). O pai removerá seu PidFile e deixará de ouvir em todas as portas. O pai continuará executando e monitorará os filhos que estão lidando com solicitações. Depois que todos os filhos tiverem finalizado e encerrado ou o tempo limite especificado pelo GracefulShutdownTimeout for atingido, o pai também sairá.
Lembre-se de que o sys-v init costumava fazer paradas graciosas por padrão e tinha parada de força como uma opção extra. Uma opção "especial" para interromper normalmente é necessária apenas se você executar um gerenciador de processos personalizado que normalmente mata processos.
/usr/sbin/apachectl stop
systemd
não ser um gerenciador de processos personalizado, ele não elimina o processo. No entanto, por padrão, o systemd também executa umstop
not agraceful-stop
for apache.