CEOブログ

横浜で活躍するホームページ作成・開発会社アットライズの代表取締役社長(CEO)が綴る、日々の奮闘記!!

備忘録

[備忘録]Windows:プロセスが起動しているか定期的に調べる方法

投稿日:2016年1月14日 更新日:

laptop-820274_640
「AutoHotkey」というツールを使ってキーボードのカスタマイズをしている、と以前のブログに書いた。
(*1) ブログ「キーボード:日本語モードでも[,][:][=]を半角で入力したい!

ところがこのAutoHotkey、、パソコンを使っているうちにいつの間にかプロセスが終了してしまっていることが稀に起こる。。(1日に1~2回くらい。。)
プロセスが消える理由もタイミングも見当がつかず、モヤモヤしてたので、定期的にプロセスが起動しているかどうか監視するバッチを作ってみた。
※現段階では、監視バッチを定期的(5分間隔)に起動する仕組みを作っただけで、まだ消える原因は特定できていない。。(これから このバッチで特定できることを期待!)
 → 2016.01.22追記:やっと原因判明! 詳しくはこちら > Autohotkeyのプロセスが突然終了する!件の対処

2つのツールを組み合わせて実現

本機能を実現するにあたり、「プロセスを監視するバッチ」と、そのバッチを「定期的に起動する」ツールの2つを組み合わせた。

プロセスを監視するバッチ

まずは「プロセスを監視するバッチ」について。


@ECHO OFF
CD C:\tmp\
TASKLIST | FIND "AutoHotkey.exe" > NUL
IF NOT ERRORLEVEL 1 (
    GOTO PGOK
) ELSE (
    ECHO 「AutoHotkey」が起動していません。
    GOTO PGNG
)

:PGOK
    ECHO AutoHotkey:起動OK %DATE% %TIME% >> AutoHotkey_chk.txt
    GOTO END
:PGNG
    ECHO AutoHotkey:起動NG!!!!   %DATE% %TIME% >> AutoHotkey_chk.txt
    START %SystemRoot%\system32\notepad.exe
    GOTO END
:END
    ECHO 終了処理
EXIT

※NGの場合にノートパッドを起動する(Notepadのウィンドを開く)ことで知らせる。

バッチの定期起動

VBSによりコマンドウィンドが開かないようにする

上記バッチファイルを起動すると、都度コマンドの黒いウィンドが一瞬開く。
PCで作業しているときに邪魔になるので、VBSを使うことでコマンドウインドゥが開かないようにする。


Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "C:\xxxxx\AutoHotkey_chk.bat",0
Set oShell = Nothing

Windowsのタスクスケジューラに登録

参考: http://www.atmarkit.co.jp/ait/articles/1305/31/news049.html

●タスクスケジューラの設定画面を開く
・コントロールパネルから[システムとセキュリティ]-[管理ツール]をクリックし、
[タスク スケジューラ]をダブルクリック

●新たにタスクを作成する
・タスクスケジューラの左ペインのツリーで[タスク スケジューラ (ローカル)]フォルダ
ーを選択してから、右側の操作ペインで[タスクの作成]をクリック。
・「操作」タブで、上記VBSファイル(C:\xxxxx\AutoHotkey_chk.vbs)を設定
今回は、ログイン時に開始し、5分間隔で監視するように設定。

-備忘録
-


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[備忘録]Linux sedコマンド:再帰的に置換する方法

sedコマンドで配下ディレクトリ全ファイル対象に再帰的置換する 例えば、サーバー移転などを行っていると、「ドメイン名の変更」「ディレクトリパスの変更」「DB名の変更」などで、全ての記述を変更したい場合 …

[備忘録]Windows10:PCで画面上に表示されたQRコードを読み取る方法(カメラなし)

いちいちスマホで読み取るのは面倒だ。。 パソコンで作業していると、表示されたQRコードを読み取りたい時がある。 そんな時、スマホのカメラをかざして読み取っていただ、なんとも面倒だ。 そこで、カメラなし …

[備忘録]モニタに「ディスプレイが無効なビデオコネクタに接続されています」と表示される。。

モニタを交換したらエラーで表示できず。。 自宅PCのモニタを、今までの20.7インチから、23.6インチの大きなサイズへと変更した。 ※変更のいきさつなどはブログ「モニタサイズを20.7→23.6イン …

[備忘録]TeraTermでホスト名のリストを変更する方法

たまにしか やらんからすぐ忘れる。。 SSH接続用に愛用している「TeraTerm」。 TeraTermを立ち上げると、ホストのリストから接続先を選択できるのだが、、サーバーの入れ替え等を行っていると …

[備忘録]メールフォーム:完了メールが何度も送信される問題。。

送信完了メールが何度も来る。。 とあるイベントの予約システムを構築したところ、ユーザーから「完了メールが何度も送られてくる」という報告(クレーム!?)があった。。 調べてみると、数千件あった予約のうち …