天天看點

如何停止處于stopping狀态的windows服務

工作中有時需要啟動和停止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'.

<a href="http://allanfan.blog.51cto.com/attachment/201305/4/520839_1367667177A13K.png"></a>

過一會兒我們再檢視服務的狀态它會自動再運作,OK大功告成

<a href="http://allanfan.blog.51cto.com/attachment/201305/4/520839_1367667185vBVK.png"></a>

補上hyy1988說的方法:就是 在 Service上點右鍵有個 Go to Process,會轉到這個Service依賴的程序上,Kill掉,完事。

<a href="http://allanfan.blog.51cto.com/attachment/201305/6/520839_1367836035b2T6.png"></a>

     本文轉自allanhi 51CTO部落格,原文連結:http://blog.51cto.com/allanfan/1193132,如需轉載請自行聯系原作者

繼續閱讀