加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在Windows 2008R2上终止挂起的服务

发布时间:2020-12-13 19:24:27 所属栏目:Windows 来源:网络整理
导读:我有一台运行NSClient的 Windows 2008R2服务器.出于某种原因,这项服务已经扭曲了,并停止响应Nagios民意调查. 当我尝试重新启动服务时,服务管理器需要很长时间才能尝试终止服务,然后最终放弃了“服务花了很长时间才能响应”的消息.但是……它也启动了一个新的
我有一台运行NSClient的 Windows 2008R2服务器.出于某种原因,这项服务已经扭曲了,并停止响应Nagios民意调查.

当我尝试重新启动服务时,服务管理器需要很长时间才能尝试终止服务,然后最终放弃了“服务花了很长时间才能响应”的消息.但是……它也启动了一个新的服务实例.

如果我查看任务管理器或任务列表,我现在可以看到两个运行nsclient .exe的实例.

我试图使用以下方法杀死这两个:

>右键单击并在任务管理器中“结束进程” – 假装终止进程并报告没有错误(例如拒绝访问)但该进程仍然存在.
> taskkill / PID< proc id> / F – 报告成功:PID 6672的过程已终止.但这个过程仍在运行.
>下载了SysInternals PsTools并运行了pskill< PID> –
报告处理< PID>被杀 – 但这个过程仍在那里.
>执行hh:mm pskill< PID>让pskill作为SYSTEM帐户执行此操作…并且您猜对了该进程仍在运行.

以上所有内容都在管理员命令提示符下运行.

除了不太理想的重启(盒子是一个相当关键的生产服务器),我还能尝试什么?

服务器没有任何资源压力(内存,CPU,磁盘等),并且运行在它上面的一切都很好.

快速查看SysInternals Process Explorer中的threads选项卡,可以看出所有这些nsclient .exe实例都被卡住了:

顺便说一句,我也尝试杀死这些僵尸(?)进程(使用TCPView)的所有TCP连接,希望我可以启动一个新实例,它将能够获取端口5666.然后我们可以重新启动服务器当事情更安静,但唉,这是行不通的.

即使看起来你已经想到了这一点,但问题在于进程正在等待内核的某些东西. (这通常是驱动程序级别的问题,但并非总是如此.)杀死此类进程的唯一方法是卸载内核,当然,如果不重新启动,您就无法执行此操作.

可能值得尝试一些内核调试(does this tool work on 2008 R2?)以期缩小具体原因或冲突,但您处理问题的选择要么与它一起生活,要么重新启动服务器以消除它.

有没有理由你没有考虑过与它一起生活?如果它只是一个僵尸进程,它并没有影响任何东西,我认为你可以推迟重启直到维护窗口或更合适的时间.通常我的方法,当僵尸或挂起过程不干扰任何事情 – 在下一个补丁周期或计划维护窗口期间处理它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读