Windows の .bat ファイルを作成してプロセスを強制終了する方法はありますか?
-
09-06-2019 - |
質問
そのため、会社所有の開発マシンの電源を入れるたびに、IDE から適切なパフォーマンスを得るために、タスク マネージャーやその他のプロセス管理アプリを使用して 10 以上のプロセスを強制終了する必要があります。はい、これらは、セキュリティとコンプライアンスのために会社が私のマシンにインストールするプログラムのプロセスです。私がやりたいのは、問題のプロセスを起動して強制終了できる、ある種の .bat ファイルまたはスクリプトを用意することです。
これを行う方法をすでに知っている人はいますか?
解決
これは「taskkill」で行うことができます。/IM パラメータを使用すると、イメージ名を指定できます。例:
taskkill /im somecorporateprocess.exe
これを「強制的に」強制終了することもできます。
taskkill /f /im somecorporateprocess.exe
強制終了したいプロセスごとに 1 行を追加し、.bat ファイルとして保存し、起動ディレクトリに置くだけです。問題が解決しました!
これがレガシー システムの場合、 PsKill 同じことをします。
他のヒント
taskkill /f /im "devenv.exe"
これにより、exe 名「devenv.exe」の pid が強制的に強制終了されます。
nix'y kill コマンドの -9 に相当
TASKKILL は Windows の一部の Home/Basic エディションでは利用できない可能性があるため、ここでいくつかの代替手段を示します。
TSKILL processName
または
TSKILL PID
心に留めておいてください processName
持つべきではありません .exe
接尾辞は 18 文字に制限されます。
別のオプションは WMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate
wmic は taskkill よりもさらに高い柔軟性を提供します。 wmic Path win32_process get
フィルタリングできる利用可能なフィールドが表示されます。
開発者としては、自分のマシンに対してある程度の管理制御を持っていると思います。その場合は、コマンド ラインから msconfig.exe を実行します。多くのプロセスを開始から削除できるため、上記の解決策でプロセスを強制終了する必要がなくなります。
得る 自動実行 Sony ルートキットを発見した Sysinternals の Mark Russinovich より...自動的に開始されるものをクリーンアップするために私が今まで使用した中で最高のソフトウェア。
ダウンロード PSキル. 。停止させたいプロセスごとにそれを呼び出すバッチ ファイルを作成し、それぞれのプロセスの名前を渡します。
この条件で機能する以下のロジックを見つけてください。
単純に電話すると taskkill /im applicationname.exe
, 、このプロセスが実行されている場合にのみ強制終了されます。このプロセスが実行されていない場合、エラーがスローされます。
事前に確認するため takskill
が呼び出されると、確実に実行されるかどうかのチェックを行うことができます taskkill
プロセスが実行中の場合にのみ実行されるため、エラーはスローされません。
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "applicationname.exe"
ここで私はコマンドの例を書きました。 cmd
コマンドラインプロンプト用に書かれています chrome.exe
.
FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)
for はすべてを取得するだけです PID
以下にリストされています tasklist
コマンドを実行して実行する TASKKILL /PID
毎回 PID
tasklist /FO Table /M "chrome*" /NH
バッチ ファイルで for を使用する場合は、%P の代わりに %%P を使用してください。