応答なしアプリを見つけて終了させる便利コマンド(taskkillの便利技)

Windows
スポンサーリンク

taskkill コマンドは、プロセスを終了するための強力なツールです。コマンドプロンプトやPowershellからこのコマンドを入力することで、簡単にタスクを終了させることができます。

わざわざタスクマネージャーを起動することなくプロセスを終了できるってことですね。

例えば不安定なアプリを終了させる場合や、大量のプロセスを一括で終了させたいとき、またそれをバッチ化したい場合などに便利ですよ。

ここでは、さまざまな用途に応じた taskkill コマンドの使用方法について解説します。

特に「応答なし」状態のプロセスを強制終了する便利技は覚えておくと便利です。

実行ファイル名でプロセスを終了する

実行ファイル名でプロセスを終了する場合、/im オプションを使用します。たとえば、サクラエディタを終了させたい場合、以下のようにコマンドを実行します。

taskkill /im sakura.exe

実行結果

このコマンドを実行すると、sakura.exeという名前のすべてのプロセスが終了します
例えばサクラエディタを複数ウィンドウ起動している場合は、その全部が終了してしまいますので注意してください。

PIDでプロセスを終了する

PIDというのは「プロセスID」です。プロセスIDというは、簡単にいうとOSが実行中プロセスを識別するために割り当てる一意なIDのことです。

プロセスIDを指定してタスクを終了させるには、/pid オプションを使用します。

例えば、PIDが7777のプロセスを終了する場合、以下のようなコマンドを実行します。

taskkill /pid 7777

ただし、このやり方だったら、事前にプロセスIDを特定しておかないといけません。

プロセスIDはtasklistコマンドで確認できます。ですが、ただtasklistと打っただけでは、表示されるプロセスが多すぎて(下図)、終了させたいプロセスがどれかを特定するのにも一苦労です。

こんなのから探すひまがあったらタスクマネージャーのほうが早いでしょ

終了させたいアプリ(=イメージ名)がわかっていたら、イメージ名で絞り込みましょう。

tasklist /fi "imagename eq sakura.exe"

実行結果

これならプロセスIDを特定できそうですね。

taskkill /pid 5284

実行結果

PIDでプロセスを終了する場合、事前にプロセスIDの確認作業が必要になります。
ただし、アプリ全てを終了させることなく、終了させたいものだけを狙い撃ちで終了させることだできます。

「応答なし」状態のプロセスを強制終了する

応答しなくなったプロセス(Not Responding)は、/f オプションを使用して強制終了する必要があります。以下の手順で応答なし状態のプロセスを特定し、終了させることができます。

(1) 応答なし状態のプロセスを特定する

まずは、応答なし状態のプロセスを tasklist コマンドで検索します。

tasklist /fi "status eq not responding"

(2) 強制終了する

次に、(1)で調査したPIDを使ってプロセスを強制終了します。

taskkill /f /pid 7777

これで応答なしプロセスは強制終了されます。

コメント

タイトルとURLをコピーしました