Windowsのセキュリティソフトはノートンを使うことにしたのだが、以前、ノートンが知らない間に落ちていたことがあったので、それを回避したいと思い、プロセスが動いているか監視するアプリを探した。一個あったのだが、ドキュメントを見ると大変イマイチな仕様だったので、自分で作った(というか、他の方の作られたバッチファイルの改変版である)。

以下にバッチファイルの内容を載せる。大文字小文字が混じっていたり、勝手に別なスクリプトを作ったりするのは大変気に入ってないが、短時間ででっちあげたためである(僕は、仕様が摩訶不思議なバッチファイルを真面目に勉強したくないので、動けば良しとした)。使う時は適宜直して欲しい(と言っても、簡単に直せる人は、これを使うまでもないのだが)。

@echo OFF
rem check_norton.bat : Check if Norton is running.

rem Checked process' image name.
set img_name=nis.exe

rem Checked process' name.
set proc_name=Norton

REM Sleep time (ms).
set sleep_time=10000

rem Diag. display time (s)
rem set diag_time=10

echo WScript.sleep %sleep_time% > cn_sleep.vbs
echo WScript.echo "%proc_name% is not running." > cn_ng_diag.vbs

:loop
  TASKLIST | FIND "%img_name%" > NUL
  IF ERRORLEVEL 1 (
    echo %proc_name% is not running.
    C:\WINDOWS\system32\wscript.exe cn_ng_diag.vbs > NUL
  ) else (
    rem echo %proc_name% is running.
  )

  rem echo Sleeping...

  REM sleep
  C:\WINDOWS\system32\cscript.exe cn_sleep.vbs > NUL
goto loop

rem Never reach here.

動作は、10秒ごとにノートン・インターネット・セキュリティのプロセス(nis.exe)が動いているか調べ、動いていなかったら、ダイアログを出すという、至って単純なものである。

もし、ノートンのチェック以外に使う場合には、以下を変えること。(変更箇所は、リスト中で太字にした)

  • "nis.exe"を、チェックしたいプロセスのイメージ名にする。イメージ名はタスクマネージャーかtasklistを実行して調べること。
  • "Norton"を、チェックしたいプロセスの名前にする。名前は何でも良い。

それから、チェック間隔を変える場合には、"10000"の代わりに、チェックしたい間隔をms単位(秒×1000)にして設定すること。

(12:33 バッチファイルを改良、本文を修正)

  •   0
  •   1

コメントを書く

名前    

メール 

URL