会社所有の開発マシンをオンにするたびに、タスクマネージャーまたはその他のプロセス管理アプリを使用して10以上のプロセスを強制終了し、IDEのパフォーマンスを向上させる必要があります。はい、これらは私のセキュリティとコンプライアンスのために私の会社にインストールするプログラムからのプロセスです。私がやりたいのは、問題のプロセスを強制終了できる.batファイルまたはスクリプトです。
誰かがこれを行う方法を知っていますか?
会社所有の開発マシンをオンにするたびに、タスクマネージャーまたはその他のプロセス管理アプリを使用して10以上のプロセスを強制終了し、IDEのパフォーマンスを向上させる必要があります。はい、これらは私のセキュリティとコンプライアンスのために私の会社にインストールするプログラムからのプロセスです。私がやりたいのは、問題のプロセスを強制終了できる.batファイルまたはスクリプトです。
誰かがこれを行う方法を知っていますか?
回答:
' taskkill 'でこれを行うことができます。/ IMパラメータを使用すると、イメージ名を指定できます。
例:
taskkill /im somecorporateprocess.exe
これを「強制」キルすることもできます:
例:
taskkill /f /im somecorporateprocess.exe
強制終了するプロセスごとに1行追加し、.batファイルとして保存して、起動ディレクトリに追加するだけです。問題が解決しました!
これがレガシーシステムの場合、PsKillは同じことを行います。
taskkill /F /IM <processname.exe> /T
で強制的に閉じるのにを使用して成功しました。
RuntimeBroker.exe
ていますが、強制終了しても何も起こりません。
taskkill /f /im "devenv.exe"
これにより、exe名が "devenv.exe"のpidが強制的に強制終了されます
nix'y killコマンドの-9と同等
TASKKILLは一部のHome / basicエディションのウィンドウでは使用できない場合があるため、いくつかの代替方法があります。
TSKILL processName
または
TSKILL PID
接尾辞を付けるprocessName
べきではなく、.exe
18文字に制限されていることを覚えておいてください。
別のオプションはWMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate
wmicは、SQLに似たマッチャーを使用してtaskkillよりもさらに柔軟性を提供します。これにより、wmic Path win32_process get
フィルター%
に使用できる(そしてワイルドカードとして使用できる)使用可能なフィールドを確認できます。
Sony Rootkitを発見したSysinternalsの男、Mark RussinovichからAutorunsを入手してください。
それが条件で動作する以下のロジックを見つけてください。
単にを呼び出すとtaskkill /im applicationname.exe
、このプロセスが実行されている場合にのみ強制終了します。このプロセスが実行されていない場合、エラーがスローされます。
takskill
呼び出される前にチェックするためにtaskkill
、プロセスが実行されている場合にのみ実行が実行されることを確認するチェックを実行して、エラーがスローされないようにすることができます。
tasklist /fi "imagename eq applicationname.exe" |find ":" > nul
if errorlevel 1 taskkill /f /im "applicationname.exe"
taskkill
toにリダイレクトする方が簡単nul
ここでは、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を使用してください。