Temos dois Windows Server , um em 2012 R2 e o outro em 2008 R2 que usa o servidor HTTP Apache strong> ( httpd
) 2.4 no modo proxy / proxy reverso (uso da configuração ProxyPass
, ProxyPassReverse
e Hosts Virtuais). Ambos os servidores usam a compilação binária Apache 2.4.27 x64 do Apache Haus.
Temos alguns scripts de backup em execução nos dois servidores. Eles param todos os serviços (incluindo o Apache), fazem o backup e reiniciam todos os serviços novamente.
Esses scripts estão funcionando bem desde vários anos (quase 4 anos). Mas a partir de July 12, 2018
, o comportamento agora é estranho. Os scripts de backup estão fazendo seus trabalhos, interrompendo todos os serviços, fazendo o backup, mas agora todos os serviços são reiniciados, exceto o Apache.
Após investigar, descobri que o serviço Apache 2.4.27 não pode ser interrompido. Ao usar o console Serviços e tentar interromper manualmente o serviço, o console mostra "Parando" e nada acontece.
Por isso, verifiquei os processos em execução e vi que um processo httpd.exe
está sendo executado. Eu tentei matar esse processo, mas sem sorte.
Então, eu tentei:
taskkill /im "httpd.exe" /f /t
E a saída é:
ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.
Então eu testei para matar o processo com pskill
da Sysinternals:
pskill -t 560
E a saída é:
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process 5956 killed.
Mas isso é falso, pois o processo httpd
está sempre em execução!
Portanto, atualizei o Apache de 2.4.27 para 2.4.34, mas o problema continua. A única coisa a fazer para desbloquear a situação é reiniciar o servidor inteiro.
Eu verifiquei as atualizações instaladas e algumas delas instalaram o July 11, 2018
, um dia antes:
- KB4338420
- KB4338818
- KB4339093
- KB4338423
Então presumo que o problema seja de uma dessas atualizações. Então, antes de desinstalar todos eles, existe alguém que tenha o mesmo problema que eu, quero dizer que o Apache 2.4 torna-se impossível de matar e não pode ser parado no Windows Server?
O grande problema é que, se o processo httpd
não puder ser eliminado, o Apache não poderá ser reiniciado, pois a porta 80 já está vinculada.