TwitterクライアントJanetterはメモリ食いでメモリ消費が2GBに上ることがある。このため定期的に再起動する必要があるという。これを自動化する。自動化のためにバッチファイル、VBS、タスクスケジューラを使った。

再起動用のバッチファイル

まず、メモリ使用量に応じて再起動させるバッチファイルを作成する。テキストエディタで次のように記述する。XP Pro、Vista以降で使えるコマンドを使っているのでXP Homeでは動かない。(tasklist,taskkill)

@echo off
rem 終了させるプログラムの名前(拡張子は付けない)
set AppName=Janetter
rem 終了させるプログラムのフォルダ
set AppFolder=C:\Program Files (x86)\Janetter\bin
rem 終了させるメモリ使用量(kB)
set MaxMemUsage=300000

rem プログラムが起動しているかチェック
tasklist /fi "memusage ge %MaxMemUsage%" | find /i "%AppName%"

rem 起動していない場合、処理を終了
if errorlevel 1 goto end

:kill
rem プログラムを終了させる
rem タスクトレイにアイコンが残るので/fオプションは使用しない
taskkill /im %AppName%.exe

rem 終了確認
tasklist | find /i “%AppName%”
rem 終了していない場合、再度実行
if not errorlevel 1 goto kill

rem プログラムを起動する
cd %AppFolder%
start %AppName%.exe

:end

テキストエディタで上のスクリプトを記述し、変数の値を環境に合わせて変更する。

通常、Janetter.exeのあるフォルダは

  • 64bitOSの場合 "C:\Program Files (x86)\Janetter\bin"
  • 32bitOSの場合 "C:\Program Files\Janetter\bin"

となる。

拡張子をbatにして保存する。

追記(2011/7/21):挙動が怪しいのでJanetterServ.exeの終了も待つように変更

(さらに…)

おすすめ


5月 23rd, 2011

Posted In: ソフトウェア

タグ: , ,

Leave a Comment