代码改变世界

如何强制关闭服务

2016-12-07 12:01  绿贝  阅读(4287)  评论(0编辑  收藏  举报

工作中有时需要启动和停止windows service,有时候会出现服务处于stopping或者starting的状态,但是,在services界面中,start service/stop service已经处于灰色不可操作状态,用命令行的形式net start/stop servicename也无济于事。停止服务的方法就是关掉这个进程,但是很多时候无法确定是哪个进程与之相关。在命令行中我们可以使用sc queryex servicename这个命令来获得该服务的相关信息。

For example,

Run 'sc queryex WebsenseDCAgent' in command prompt

The output is below,

SERVICE_NAME: WebsenseDCAgent 
        TYPE               : 10  WIN32_OWN_PROCESS 
        STATE              : 3  STOP_PENDING 
                     (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) 
        WIN32_EXIT_CODE    : 0  (0x0) 
        SERVICE_EXIT_CODE  : 0  (0x0) 
        CHECKPOINT         : 0x0 
        WAIT_HINT          : 0x1d4c8 
        PID                : 4488 
        FLAGS              :

查看到此服务的进程号以后我们可以用命令 'taskkill /PID 4488 /F' 来强制结束此服务的进程. /F means 'kill forcely'.

 

原文:http://allanfan.blog.51cto.com/520839/1193132/