Palm84 某所の日記

死のうは一定、しのびクマには何しよぞ...

増殖する firefox.exe を taskkill するするばっちふぁいる

にゃーるほど。こんなやり方がありましたか。感服!

尚、プロセス firefox.exe が増殖するのは MacType が原因らしいのであります。

210 名無し~3.EXE 2012/08/14(火) 16:54:39.82 []ID:V/UZ34Sk[] Be: 
 >>209 
 setlocal enabledelayedexpansion 
 for /f "usebackqtokens=2,5" %%i in (`tasklist /nh /fi "Imagename eq firefox.exe" `) do ( 
 set p=%%i 
 set m=%%j 
 set m=!m:,=! 
 if !m! LSS 20000 (taskkill /f /pid !p!) 
 ) 
 を適当なbatファイルにして、実行もしくはタスクスケジュールに登録 
 
 プロセス一覧からfirefox.exe抜き出して、メモリが20000KBより小さかったら強制終了してるだけ。 
 もしメインのfirefox.exeのメモリ量が20000KB未満だったら一緒に消えるけど、 
 自分の環境じゃメモリ量が100MB以下になった事ないから特に問題は出てないよ

ふむふむであります。

  • tasklist コマンドで firefox.exe を抽出しますです
  • メモリ使用量が 20,000 K より小さいものの PID を終了させますです

遅延環境変数の展開を有効にしておいて、for 内で set した変数に対して条件のあうものだけ taskkill させるわけなのであります。

お約束の「自己責任にて」でありますが MacType 使ってて firefox.exe の増殖イヤーんな方は試してみていいかもしれない。

実行前がこんな風・・・

C:\Users\kumaa>tasklist /nh /fi "Imagename eq firefox.exe"

firefox.exe                   6316 Console                    1    296,260 K
firefox.exe                   7720 Console                    1      6,848 K
firefox.exe                   7096 Console                    1      6,936 K
firefox.exe                   7928 Console                    1      6,892 K
firefox.exe                   6220 Console                    1      6,844 K

実行後がこんなかんじ。

C:\Users\kumaa>tasklist /nh /fi "Imagename eq firefox.exe"

firefox.exe                   6316 Console                    1    296,324 K

ほならまた。