Taskkillを使用してコマンドラインから複数のプログラムを終了する
- カテゴリ: チュートリアル
すべてのプログラム終了オプションが常に機能するわけではありません。プログラムが応答しない場合、ウィンドウを閉じるボタンを使用してプログラムを終了できないことがあります。 Windowsタスクマネージャーでプロセスを強制終了する場合も同様です。
Taskkillは、これらの目的に使用できる多目的なコマンドラインツールです。それがサポートする多くの機能の中には、プログラムを強制的に閉じ、単一の操作で複数のプログラムを終了するオプションがあります。
特に後者は、システム上で不正なプログラムをクリアする必要がある場合に役立ちます。これらのプログラムを終了するとすぐに、新しいプロセスが生成されます。
基本的なコマンドはtaskkillで、その後にパラメーターが続きます。良い出発点はtaskkill /?を実行することです。使用できるすべてのパラメータをリストしたヘルプテキストを表示します。
プロセスを終了するには、次の2つのコアオプションを使用できます。
- taskkill / IM explorer.exe
- タスクキル/ PID 1516
1つ目は、コマンドラインまたはWindowsタスクマネージャーを使用してtasklistを実行したときに取得される、実行中のプログラムのイメージ名です。 2番目は、同じ方法で取得するプロセスのプロセスIDです。
イメージ名を使用すると、その名前のすべてのプロセスが強制終了されます。一方、プロセスIDを使用すると、代わりに特定のプロセスを選択できます。
複数のプロセスを一度に終了するには、次のコマンドを使用します。
- taskkill / PID 123 / PID 234 / PID 345
パラメータ/ fは、選択されたプロセスを強制的に終了する必要があることを指定し、/ tは、その子プロセスもすべて強制的に終了する必要があることを指定します。
taskkillを特に強力にするのは、そのフィルタリングシステムです。フィルターを使用して、一致するプロセスを終了し、それらのバッチ全体を同時に強制終了できます。
フィルターは/ fiパラメーターを使用し、その後に、フィルター処理する対象の指示が続きます。ここで使用される演算子は次のとおりです。
- 等しい
- 等しくない
- gtより大きい
- 未満
- ge以上
- ル以下
興味深いフィルター名は、特にIMAGENAME、CPUTIME、MEMUSAGE、またはUSERNAMEです(それらすべてとそれらがサポートする演算子については、上記のスクリーンショットを参照してください)。
ご覧のとおり、ワイルドカードがサポートされています。ワイルドカードは、少なくとも1つのフィルターが指定されている場合にのみ、/ IMに使用できます。
いくつかの例:
- taskkill / FI 'STATUS eq NOT RESPONDING'
- taskkill / FI 'USERNAME eq MARTIN'
- taskkill / sサーバー名/ FI 'IMAGENAME eq rog *' / im *
彼らは何をやる
- ステータスが応答しない状態で実行中のすべてのプロセスを終了します
- ユーザーMARTINによって実行中のすべてのプロセスを終了します
- サーバーservernameのrogで始まるすべてのイメージ名を終了します
必要に応じて、パラメータ/ pおよび/ uを使用してパスワードとユーザー名を設定します。ユーザーパラメータはDomain Userの形式で提供されます。 / u coredomain martin / p secretpassword
追加情報が提供されています MicrosoftのTechnet Webサイト