Pare o Apache normalmente


23

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:



12

Use apachectl -k graceful-stopa 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á.


1

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.


Essa resposta pode dar a impressão de que, por systemdnão ser um gerenciador de processos personalizado, ele não elimina o processo. No entanto, por padrão, o systemd também executa um stopnot a graceful-stopfor apache.
B. Miller

4
@ B.Miller se o seu systemd executar uma parada em vez de uma parada normal, é um bug específico do SO que precisa ser registrado. O Arch Linux e o CentOS 7 realizam paradas simples.
Harald

O Debian também faz uma parada elegante
John Keates

2
@JohnKeates interessante ... talvez esse seja o Ubuntu 18.04 específico. 18.04 usa o comando stop/usr/sbin/apachectl stop
B. Miller
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.