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
これで応答なしプロセスは強制終了されます。
コメント