Windowsのサービスが停止中のまま止まらない場合に強制終了する方法

Windowsのサービスが何らかの原因でダウンすることがあると思います。

例えば,サービスを再起動しようとしたら,停止中のままハングしてしまい,強制終了も何もできなくなってしまうといった状況です。

そのような停止中状態で反応しなくなってしまった場合に,サービスを強制終了させる方法はあるのでしょうか。

停止中のサービスを手動で強制終了する方法

まずは,コマンドプロンプトから,services.mscとタイプして,サービスの管理画面を開きます。

そして,停止中のまま固まってしまっているサービスのプロパティを開き,正式なサービス名を確認します。

下図では,Wecsvcというのがサービスの名前になります。サービスのステータスがStopping状態のまま何もできない状態であることが分かります。

停止中ステータスになっているサービスの正式名を確認する

停止中ステータスになっているサービスの正式名を確認する

次に,コマンドプロンプトを管理者として実行し,sc queryex [サービス名]で実行します。

sc queryex Wecsvc

表示された,PIDの値を確認します。PIDはProcess IDの略で,このPIDを用いて,ハングしているプロセスを強制終了します。

sc queryexコマンドでPIDの値を確認する

sc queryexコマンドでPIDの値を確認する

続けてコマンドプロンプトから,taskkill /pid [PIDの数字] /f を実行すれば,該当のタスクを強制終了することができます。

taskkill /pid 964 /f

SUCCESS: The process with PID 964 has been terminated. と表示されればWindowsサービスの強制終了が成功したことを表しています。

taskkillコマンドでサービスを強制終了させる

taskkillコマンドでサービスを強制終了させる

これで,再びサービスの管理画面を確認すると,サービスの開始を行うことができるようになっていると思います。

それでもうまくいかない場合には,サーバーを再起動しましょう。

以上,Windowsのサービスが停止中のまま止まらない場合に強制終了する方法でした。

コメント