プロセスを強制終了するWindows .batファイルを書き込む方法はありますか?[閉まっている]


114

会社所有の開発マシンをオンにするたびに、タスクマネージャーまたはその他のプロセス管理アプリを使用して10以上のプロセスを強制終了し、IDEのパフォーマンスを向上させる必要があります。はい、これらは私のセキュリティとコンプライアンスのために私の会社にインストールするプログラムからのプロセスです。私がやりたいのは、問題のプロセスを強制終了できる.batファイルまたはスクリプトです。

誰かがこれを行う方法を知っていますか?


これは、自動化環境で、適切な時間内に終了または応答できない場合に、ランナウェイサブプロセスを終了する必要がある場合にも便利です。
ダニーステープル2015年

ラウンドアバウト2000のエンジニア(CADをしている)の会社のラウンドアバウト20名のS / W開発者であるため、この質問リンクをすべての直接のカレッジに投稿しました。(セキュリティポリシーのため)仕事がほぼ不可能になるため、IT管理部門と永続的に闘っています...(技術的には役に立ちませんが、他のS / W開発者が同様の問題を抱えているようだ。)
Scheff

回答:


171

' taskkill 'でこれを行うことができます。/ IMパラメータを使用すると、イメージ名を指定できます。

例:

taskkill /im somecorporateprocess.exe

これを「強制」キルすることもできます:

例:

taskkill /f /im somecorporateprocess.exe

強制終了するプロセスごとに1行追加し、.batファイルとして保存して、起動ディレクトリに追加するだけです。問題が解決しました!

これがレガシーシステムの場合、PsKillは同じことを行います。


34
LOL-"somecorporateprocess.exe"かなり、開発チームからの企業ITの切断を要約しています。
maplemale 2014年

8
すべてのプロセスを名前taskkill /F /IM <processname.exe> /Tで強制的に閉じるのにを使用して成功しました。
ベンジ2015

バックグラウンドキルプロセスのwin10では機能しません。win 10のすべてのバックグラウンドプロセスは名前が付けられRuntimeBroker.exeていますが、強制終了しても何も起こりません。
モスタファ2018年

106
taskkill /f /im "devenv.exe"

これにより、exe名が "devenv.exe"のpidが強制的に強制終了されます

nix'y killコマンドの-9と同等


3
コマンドに/ fフラグを追加するまで機能しませんでした。ありがとうございました!
Denis M. Kitchen

4
これにより、指定した名前のすべてのエントリが削除されます。プログラムがバックファイアしてバックグラウンドでnotepad.exeを1000回開くときに特に便利です:] * ahem *
Richard de Wit

8

TASKKILLは一部のHome / basicエディションのウィンドウでは使用できない場合があるため、いくつかの代替方法があります。

TSKILL processName

または

TSKILL PID

接尾辞を付けるprocessNameべきではなく、.exe18文字に制限されていることを覚えておいてください。

別のオプションはWMIC

wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate

wmicは、SQLに似たマッチャーを使用してtaskkillよりもさらに柔軟性を提供します。これにより、wmic Path win32_process getフィルター%に使用できる(そしてワイルドカードとして使用できる)使用可能なフィールドを確認できます。


5

私は開発者として、あなたはあなたのマシンをある程度管理できると想定しています。その場合は、コマンドラインからmsconfig.exeを実行します。多くのプロセスを開始から削除できるため、上記のソリューションでプロセスを強制終了する必要がなくなります。



4

PSKillをダウンロードします。死にたいプロセスごとにそれを呼び出すバッチファイルを記述し、それぞれのプロセスの名前を渡します。



0

それが条件で動作する以下のロジックを見つけてください。

単にを呼び出すとtaskkill /im applicationname.exe、このプロセスが実行されている場合にのみ強制終了します。このプロセスが実行されていない場合、エラーがスローされます。

takskill呼び出される前にチェックするためにtaskkill、プロセスが実行されている場合にのみ実行が実行されることを確認するチェックを実行して、エラーがスローされないようにすることができます。

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

1
エラーメッセージをtaskkilltoにリダイレクトする方が簡単nul
Stephan

0

ここでは、cmdコマンドラインプロンプトに貼り付けることができるコマンドの例を書きましたchrome.exe

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

ただ、すべて取りのためにPID以下に記載されているのtasklistコマンドや実行TASKKILL /PIDごとにをPID

tasklist /FO Table /M "chrome*" /NH

バッチファイルでforを使用する場合は、%Pの代わりに%% Pを使用してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.