windows-server-2008-r2 – Apache 2.4是不可杀死的,无法在Windows Server上停止

前端之家收集整理的这篇文章主要介绍了windows-server-2008-r2 – Apache 2.4是不可杀死的,无法在Windows Server上停止前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有两个 Windows Server,一个在2012 R2中,另一个在2008 R2中,它在代理/反向代理模式下使用Apache HTTP Server(httpd)2.4(使用ProxyPass,ProxyPassReverse和虚拟主机配置).两台服务器都使用Apache Haus的Apache 2.4.27 x64二进制版本.

我们在两台服务器上都运行了一些备份脚本.他们停止所有服务(包括Apache),然后进行备份并再次重启所有服务.

几年(近4年),这些脚本运行良好.但从2018年7月12日开始,这种行为现在很奇怪.备份脚本正在执行其工作,停止所有服务,进行备份,但现在,除Apache之外,所有服务都重新启动.

经过调查,我发现Apache 2.4.27服务无法停止.使用服务控制台并尝试手动停止服务时,控制台显示“正在停止”并且没有任何反应.

所以我检查了正在运行的进程,发现httpd.exe进程正在运行.我试图杀死那个过程,但没有运气.

所以,我尝试过:

taskkill /im "httpd.exe" /f /t

输出是:

ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.

所以我测试了用来自Sysinternals的pskill杀死进程:

pskill -t 560

输出是:

Copyright (C) 1999-2016  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 5956 killed.

但这是错误的,因为httpd进程始终在运行!

所以我已经将Apache从2.4.27更新到2.4.34,但问题仍然存在.解除这种情况唯一要做的就是重启整个服务器.

我检查了已安装的更新,其中一些已安装在2018年7月11日所以前一天:

> KB4338420
> KB4338818
> KB4339093
> KB4338423

所以我认为问题来自其中一个更新.所以在卸载所有这些之前,是否有人遇到与我相同的问题,我的意思是Apache 2.4变得无法攻击并且无法在Windows Server上停止?

最大的问题是,如果无法杀死httpd进程,则无法重新启动Apache,因为端口80已经绑定.

好的,所以我觉得我走在了正确的轨道上.

在网上搜索最近安装的更新后,KB4338818就会出现问题.

其他软件也会发生这种情况,例如FileZilla Server,as detailed here.

我刚刚卸载了此安全更新,现在Apache可以正常启动/停止!

所以我希望微软能够在以后的更新中解决这个问题!

猜你在找的Windows相关文章