「WindowsでタスクをプロセスID指定で終了させたい」
「Windowsにおいて、Linuxのkillコマンドのようなモノはないの?」
このような場合には、taskkillがオススメです。
この記事では、taskkillについて解説しています。
本記事の内容
- taskkill とは?
- taskkillの使い方
それでは、上記に沿って解説していきます。
taskkillとは?
taskkillは、Windowsで使用できるコマンドです。
UNIX系OSのkillコマンドに相当します。
タスクマネージャーでは、プロセスを選んで「タスクの終了」ができます。
同じことをコマンドで実行できるのが、taskkillだということです。
タスクの終了
taskkill
タスクマネージャー上の「タスクの終了」でも、やりたいことは大体できます。
しかし、プロセスID指定でタスクを終了させたい場合があります。
例えば、次のようなエラーが出た場合です。
次の画面は、CUDA Toolkitのインストール最中に出たエラーです。
警告と言った方がいいのかもしれません。
プロセスIDが17428が邪魔で、CUDA Toolkitのインストールができないと言われています。
この場合、17428のプロセスIDを持つタスクを終了させる必要があります。
頑張れば、タスクマネージャーでも「タスクの終了」が可能でしょう。
でも、プロセスIDが判明しているなら、頑張らずにタスクを終了できます。
その際に役に立つのが、taskkillということです。
以上、taskkillについて説明しました。
次は、taskkillの使い方を説明します。
taskkillの使い方
taskkill | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/taskkill
taskkill の使い方は、上記ページで詳細を確認できます。
しかし、上記ページは情報過多と言えます。
上記でも述べましたが、基本的にはタスクマネージャーの「タスクの終了」で対応できます。
プロセスID(PID)が判明している場合に、taskkillが効果的になります。
次のようなケースですね。
ただし、本当にプロセスID17428が該当するタスクなのかどうかが不安です。
それを調べるには、tasklistを利用します。
今回の状況であれば、次のように「17428」を確認できました。
C:\>tasklist イメージ名 PID セッション名 セッション# メモリ使用量 ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 8 K System 4 Services 0 1,464 K Registry 172 Services 0 91,112 K ~ devenv.exe 17428 Console 1 106,384 K ~
「devenv.exe」は、Microsoft Visual Studioに含まれています。
したがって、「17428」をkillしても問題ないと確認できました。
プロセスID指定でタスクを終了させるには、次のコマンドを用います。
taskkill /pid 任意のPID /F
「/F」に関しては、あってもなくてもというレベルです。
実際にコマンドプロンプトで実行した結果は、以下。
C:\>taskkill /pid 17428 /F 成功: PID 17428 のプロセスは強制終了されました。
これで無事に対象のタスクをkillすることができました。
なお、CUDA Toolkitのインストール処理を先に進めることができました。
以上、taskkillの使い方を説明しました。