SiZ*_*OUS 11 httpd service windows-server-2008-r2 windows-server-2012-r2 apache-2.4
我们有两个的Windows Server,一个在2012 R2和其他2008 R2,它使用Apache HTTP服务器(httpd)2.4中的代理服务器/反向代理模式(的使用ProxyPass,ProxyPassReverse和虚拟主机配置)。两台服务器都使用来自 Apache Haus 的Apache 2.4.27 x64二进制构建。
我们有一些备份脚本在两台服务器上运行。他们停止所有服务(包括 Apache),然后进行备份并再次重新启动所有服务。
几年来(近 4 年),这些脚本运行良好。但是从 开始July 12, 2018,行为现在很奇怪。备份脚本正在执行它们的工作,停止所有服务,进行备份,但是现在,除 Apache 之外的所有服务都重新启动。
经过排查,发现Apache 2.4.27服务无法停止。使用服务控制台并尝试手动停止服务时,控制台显示“正在停止”并且没有任何反应。
所以我检查了正在运行的进程,看到一个httpd.exe进程正在运行。我试图终止该进程,但没有运气。
所以,我试过:
taskkill /im "httpd.exe" /f /t
Run Code Online (Sandbox Code Playgroud)
输出是:
ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.
Run Code Online (Sandbox Code Playgroud)
所以我测试了pskill从 Sysinternals 终止进程:
pskill -t 560
Run Code Online (Sandbox Code Playgroud)
输出是:
Copyright (C) 1999-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Process 5956 killed.
Run Code Online (Sandbox Code Playgroud)
但这是错误的,因为httpd进程一直在运行!
所以我已经将 Apache 从 2.4.27 更新到 2.4.34,但问题仍然存在。要解除这种情况,唯一要做的就是重新启动整个服务器。
我检查了已安装的更新,其中一些是July 11, 2018在前一天安装的:
所以我认为问题来自这些更新之一。所以在卸载所有这些之前,是否有人和我有同样的问题,我的意思是Apache 2.4 变得无法杀死并且无法在 Windows Server 上停止?
最大的问题是,如果httpd无法终止该进程,则 Apache 无法重新启动,因为端口 80 已经绑定。
| 归档时间: |
|
| 查看次数: |
9161 次 |
| 最近记录: |