ホーム > VBツール

処理終了を待って次のアプリケーションを連続実行

連続アプリ実行  Ver0.30 2007/11/17 ダウンロード

 関連のあるアプリケーション(以後アプリと省略)を連続的に実行したい場合があります。
アプリの処理結果を次のアプリが利用する場合、前の処理の終了を待つ必要があります。
アプリが処理が終わった後、自分でプログラムを終了してくれる場合は簡単です。単にバッチコマンドや簡単なスクリプトを作成するだけで済みますが、ほとんどは処理終了後も「終わったよ」と表示するだけで、そのまま居座り続けます。

 本ツールは、アプリを起動するとともに、そのアプリを監視し、その終了を待って次のアプリを起動します。

終了判定方法

1.制限時間

処理に要する時間より大きいと思われる制限時間を設定しておき、時間になったら次のアプリを起動

2.出力メッセージ

アプリが処理終了後に出力する「完了しました」などのメッセージを監視し、検知したら次のアプリを起動

3.CPU使用率

通常、処理が完了するそのアプリ(≒プロセス)のCPU使用率は0に近くなる。CPU平均使用率の下限値により、その値を下回った時に処理終了とみなして次のアプリを起動

本ツールの適用範囲

下記のいずれかの条件を満たすアプリの場合有効
・処理終了後にメッセージを表示するアプリ → 監視機能で終了
・処理終了後にCPU負荷が急激に下がるアプリ → 
CPU使用率で終了
・処理終了までの最大時間が予測できるアプリ → 
タイムアウトで終了

下記の場合は使用不可
・終了メッセージを表示せず、終了後もCPU負荷が高いアプリ(Wmp10版以降のような)
・終了メッセージを表示せず、CPU使用率が0に近いアプリ(検知不能)

実行中のイメージ

  下図は、5つのアプリを連続実行する例
   (本例の場合は相互は無関係。終了後に次のアプリ起動を確認のみ)

アプリ概要 制限時間 CPU下限 監視文言 タイムアウト時の処理
@ 音楽演奏 20分 0.1% 終了して次
A ダミー動作 20分 30% 終了して次
B ダミータイムアウト 20分 ちょうど、時間となりました 終了して次
C ダミー:終了に応じないアプリ 20分 0.1% 終了して次
D 音楽演奏 1分30秒 2.0% 終了して次
@:CPU20秒平均(使用率)が0.1%未満になった時に終了して次のAが起動される
A:ダミー動作。CPU使用率が非常に高い。動作終了時(15秒後)にCPU使用率が0になり終了してBが起動される
Bダミー(カウントダウン)アプリへ渡すパラメータ(-t 0.25 : 時間0.25分)により15秒後に「時間となりました」の文言を表示する。その文言を検知して次のCが起動される。このダミープログラムは負荷がとても小さいのでCPU使用率では検知できない
C:起動後、動作が無いので終了させられるが終了に応じない。10秒後に強制終了されて次のDが起動される。
C音楽演奏:拡張子「MP3」の応じたメディアプレーヤーが起動されて演奏を開始。演奏終了後にCPU使用率が2.0%以下になるようなアプリは終了。その後もゴソゴソ動いているような(ウィンドウズメディアプレーヤー10版以降)アプリはタイムアウトで終了させられる。

ボタンの説明

保存 表示されているアプリとその設定値をファイル(filelist.txt)に保存
中止 実行中のアプリを終了させ、全体の処理も中止する
閉じる フォームを閉じる。実行中のアプリも全て終了

入力方法

 編集したい行をダブルクリックすると、下図のような個別詳細設定用の入力ボックスが開く。起動するアプリを変更したい場合、直接入力するか、右端のファイルを開く」により選択する。
 下図の場合、CPU使用率下限は空白になっている。これはCPU使用率を監視しないこと(0になっても終了しない)を意味。アプリが出力する完了文言のみの監視により終了判定する。


個別操作

右クリックで、操作メニューを表示
 追加:起動するアプリを最終行に追加(ファイルを開く「」が表示される)。
 削除:選択行を削除(「Delete」キーでも削除可)
 上に移動:選択行を上に移動(左の▲と同じ)
 下に移動:選択行を下に移動(左の▼と同じ)
 既定値設定:既定値設定用の入力ボックスを表示(後述)


既定値設定

既定値を設定。アプリを追加した時には、ここに設定されている値が既定値になる。それぞれ

制限時間:アプリを起動しておく時間の制限。空白は0とみなす
CPU使用率下限:空白は下限無しとする(すなわち、監視無し)
タイムアウト時:制限時間になった時の処理を選択
   終了して次:アプリを終了(応答しない時は10秒後に強制終了)して次のアプリを起動
   継続して次:制限時間に達したら次のアプリを起動。現在のアプリはそのまま継続
   中止:全ての処理を終了する(次のアプリも起動しない)
CPU使用率平均時間:CPU使用率の平均値を取得する時間を指定。動作間隔の長い、または長い中断があるアプリの場合は大きめにしておく。前述のCPU「20秒平均」は、ここで設定された値。1分とすると「1分平均」と表示が変わる










ファイル構成

連続アプリ実行 本体
読んでね.txt 取り扱い説明書
ヘルプ.lnk ヘルプ(本ページ)
Conf.txt 設定値
filelist.txt 起動するアプリのリスト
MSCOMCTL.OCX VB用OCX:必要なPCのみ
sample サンプルアプリ格納用フォルダ
 dummy_move.exe ダミー動作アプリ
 dummy_rogue .exe 行儀の悪い(終了通知に応じない)アプリ
 dummy_timeout.exe ダミータイムアウトアプリ
 COOL!.mp3 音楽ファイル(多夢氏作)
 Dilemma.mp3 音楽ファイル(多夢氏作)

ダウンロード


動作条件

Windows2000Pro , WindowsXP Home にて確認  (Vistaは未検証)


ご質問など

エムティ・ソフト
Url   :http://mt-soft.sakura.ne.jp/
E-Mail :mtsoft3@yahoo.co.jp


変更履歴

0.30 2007/11/17 空白入りパスへの完全対応
0.20 2007/11/13 CPU使用率表示改良
終了処理の不具合改修
0.10 2007/11/12 初版