Wir haben zwei Windows Server , eine in 2012 R2 und die andere in 2008 R2 , die verwendet Apache HTTP Server ( httpd
) 2.4 in proxy / Reverse-Proxy - Modus (Nutzung ProxyPass
, ProxyPassReverse
und Virtual Hosts - Konfiguration). Beide Server verwenden den Apache 2.4.27 x64-Binärbuild von Apache Haus.
Auf beiden Servern werden einige Sicherungsskripte ausgeführt. Sie stoppen alle Dienste (einschließlich Apache), führen dann die Sicherung durch und starten alle Dienste erneut.
Diese Skripte funktionieren seit mehreren Jahren (fast 4 Jahre) einwandfrei. Aber ab July 12, 2018
jetzt ist das Verhalten jetzt seltsam. Die Sicherungsskripte erledigen ihre Arbeit, stoppen alle Dienste und führen die Sicherung durch. Jetzt werden jedoch alle Dienste außer Apache neu gestartet.
Nach einer Untersuchung stellte ich fest, dass der Apache 2.4.27-Dienst nicht gestoppt werden kann. Wenn Sie die Dienstekonsole verwenden und versuchen, den Dienst manuell zu beenden, zeigt die Konsole "Stoppen" an und es passiert nichts.
Also habe ich die laufenden Prozesse überprüft und festgestellt, dass ein httpd.exe
Prozess ausgeführt wird. Ich habe versucht, diesen Prozess zu beenden, aber ohne Glück.
Also habe ich versucht:
taskkill /im "httpd.exe" /f /t
Und die Ausgabe ist:
ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.
Also habe ich getestet, um den Prozess mit pskill
von Sysinternals zu beenden:
pskill -t 560
Und die Ausgabe ist:
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process 5956 killed.
Dies ist jedoch falsch, da der httpd
Prozess immer ausgeführt wird!
Ich habe Apache von 2.4.27 auf 2.4.34 aktualisiert, aber das Problem bleibt bestehen. Das einzige, was Sie tun müssen, um die Situation zu entsperren, ist ein Neustart des gesamten Servers.
Ich habe die installierten Updates überprüft und einige davon wurden July 11, 2018
einen Tag zuvor installiert :
- KB4338420
- KB4338818
- KB4339093
- KB4338423
Ich gehe also davon aus, dass das Problem von einem dieser Updates herrührt. Gibt es also vor der Deinstallation von allen jemanden, der das gleiche Problem wie ich hat ? Ich meine, Apache 2.4 kann nicht mehr getötet werden und kann unter Windows Server nicht gestoppt werden?
Das große Problem ist, dass httpd
Apache nicht neu gestartet werden kann , wenn dieser Prozess nicht abgebrochen werden kann, da der Port 80 bereits gebunden ist.