Taskkillを使用してコマンドラインから複数のプログラムを終了する

すべてのプログラム終了オプションが常に機能するとは限りません。 プログラムが応答しない場合、ウィンドウを閉じるボタンを使用してプログラムを終了できない場合があります。 Windowsタスクマネージャーでプロセスを強制終了する場合も同様です。

Taskkillは、これらの目的に使用できる汎用性の高いコマンドラインツールです。 サポートされている多くの機能の中には、プログラムを強制的に閉じたり、1回の操作で複数のプログラムを終了したりするオプションがあります。

特に後者は、新しいプロセスを終了するとすぐに生成される不正なプログラムをシステム上でクリアする必要がある場合に役立ちます。

基本的なコマンドはtaskkillであり、その後にパラメーターが続きます。 良い出発点はtaskkill /?を実行することです 使用できるすべてのパラメーターをリストしたヘルプテキストを表示します。

プロセスを終了するには、次の2つのコアオプションを使用できます。

  1. taskkill / IM explorer.exe
  2. taskkill / PID 1516

1つ目は、コマンドラインまたはWindowsタスクマネージャーを使用してtasklistを実行したときに取得する実行中のプログラムのイメージ名を指します。 2番目は、同じ方法で取得するプロセスのプロセスIDです。

イメージ名を使用すると、その名前のすべてのプロセスが強制終了されます。 一方、プロセスIDを使用すると、代わりに特定のプロセスを選択できます。

複数のプロセスを一度に終了するには、次のコマンドを使用します。

  1. taskkill / PID 123 / PID 234 / PID 345

パラメータ/ fは、選択されたプロセスを強制的に終了することを指定し、/ tはそのすべての子プロセスも一緒に終了することを指定します。

taskkillを特に強力にしているのは、フィルタリングシステムです。 フィルタを使用して、一致するプロセスを終了し、それらのバッチ全体を同時に強制終了できます。

フィルターは/ fiパラメーターを使用し、その後にフィルター処理の指示を続けます。 ここで使用される演算子は次のとおりです。

  1. eq等しい
  2. 等しくないね
  3. gtより大きい
  4. より小さい
  5. ge以上
  6. より少ないか等しい

興味深いフィルター名は、とりわけIMAGENAME、CPUTIME、MEMUSAGE、またはUSERNAMEです(それらのすべてとそれらがサポートする演算子については、上のスクリーンショットを参照してください)。

ご覧のとおり、ワイルドカードがサポートされています。 少なくとも1つのフィルターが指定されている場合にのみ、/ IMにワイルドカードを使用できます。

いくつかの例:

  1. taskkill / FI "STATUS eq NOT RESPONDING"
  2. taskkill / FI "USERNAME eq MARTIN"
  3. taskkill / sサーバー名/ FI "IMAGENAME eq rog *" / im *

彼らは何をやる

  1. ステータスが応答しないすべての実行中のプロセスを終了します
  2. ユーザーMARTINによる実行中のすべてのプロセスの終了
  3. サーバーservernameのrogで始まるすべてのイメージ名を終了します

必要に応じて、パラメータ/ pおよび/ uを使用してパスワードとユーザー名を設定します。 ユーザーパラメータは、Domain \ Userの形式です(例:/ u coredomain \ martin / p secretpassword)

追加情報は、MicrosoftのTechnet Webサイトで提供されます。