8.4.2 任意のイベント監視(実行条件アイテム)
- 〈この項の構成〉
(1) 機能概要
コマンドを定期的に実行し,コマンドの終了コードを契機にジョブを実行します。
(2) 指定項目一覧
名称 |
必須 |
形式 |
引き継ぎ情報指定可否 |
---|---|---|---|
コマンド名 |
○ |
文字列(1〜255バイト) |
否 |
パラメーター |
× |
文字列(0〜512バイト) |
否 |
イベント検知とみなす終了コード |
○ |
文字列(1〜512バイト) 形式:数値[,数値...] 数値は0〜4,294,967,295 |
否 |
終了コードが前回と同じ場合は検知しない |
× |
チェックボックス |
否 |
検知後は次回の監視をすぐに行う |
× |
チェックボックス |
否 |
異常終了とみなす終了コード |
× |
文字列(0〜512バイト) 形式:数値[,数値...] 数値は0〜4,294,967,295 |
否 |
仮想ユーザー名 |
× |
文字列(0〜512バイト) |
否 |
- (凡例)
-
○:必須
×:省略可
(3) 指定内容
- コマンド名
-
監視のために定期的に実行するコマンドのファイル名を指定します。
- パラメーター
-
実行コマンドに対するパラメーターを指定します。
- イベント検知とみなす終了コード
-
イベント検知とみなしてアクションを実行する終了コードを指定します。複数の終了コードをコンマで区切って指定できます。
- 終了コードが前回と同じ場合は検知しない
-
コマンドの終了コードが前回と同じときには,イベントを検知しない場合にチェックします。ただし,初回の実行時に終了コードがイベント検知とみなす終了コードに一致していた場合はイベントを検知します。本オプションを指定した場合,[検知後は次回の監視をすぐに行う]オプションは指定できません。
- 検知後は次回の監視をすぐに行う
-
イベント検知後,監視間隔を空けずすぐにコマンドを実行する場合にチェックします。本オプションを指定した場合,[終了コードが前回と同じ場合は検知しない]オプションは指定できません。
- 異常終了とみなす終了コード
-
イベントで実行するジョブを異常終了させる場合の終了コードを指定します。複数の終了コードをコンマで区切って指定できます。
- 仮想ユーザー名
-
アイテムを実行するWindowsユーザー名にマッピングされた仮想ユーザー名を指定します。仮想ユーザー名を指定しなかった場合,アイテムはCPAのジョブ実行サービスのアカウントで実行されます。
仮想ユーザー名のマッピングは,cpasetumapコマンドで行います。cpasetumapコマンドについては,「9. コマンド」の「cpasetumap」を参照してください。
(4) 使用例1
特定のプロセスが存在した場合にジョブを実行し,存在しない場合は監視を継続する
コマンド名 |
cmd |
パラメーター |
/c tasklist|findstr プロセス名 |
イベント検知とみなす終了コード |
0 |
異常終了とみなす終了コード |
− |
終了コードが前回と同じ場合は検知しない |
チェックしない |
検知後は次回の監視をすぐに行う |
チェックしない |
- (凡例)
-
−:指定を省略
(5) 使用例2
特定のプロセスが存在した場合にイベントを検知し,存在しない場合は異常終了する
コマンド名 |
cmd |
パラメーター |
/c tasklist|findstr プロセス名 |
イベント検知とみなす終了コード |
0 |
異常終了とみなす終了コード |
1 |
終了コードが前回と同じ場合は検知しない |
チェックしない |
検知後は次回の監視をすぐに行う |
チェックしない |
(6) 使用例3
特定のプロセスが存在した場合にイベントを検知し,2回目以降の監視でもプロセスが存在していた場合は,イベントを検知しない
コマンド名 |
cmd |
パラメーター |
/c tasklist|findstr プロセス名 |
イベント検知とみなす終了コード |
0 |
異常終了とみなす終了コード |
− |
終了コードが前回と同じ場合は検知しない |
チェックする |
検知後は次回の監視をすぐに行う |
チェックしない |
- (凡例)
-
−:指定を省略
(7) 使用例4
1時間ごとにジョブを実行する
コマンド名 |
sleep |
パラメーター |
3600 |
イベント検知とみなす終了コード |
0 |
異常終了とみなす終了コード |
− |
終了コードが前回と同じ場合は検知しない |
チェックしない |
検知後は次回の監視をすぐに行う |
チェックする |
- (凡例)
-
−:指定を省略
(8) 終了コードについて
イベント検知とみなす終了コードと異常終了とみなす終了コードに同じ値を指定した場合,異常終了します。
(9) 終了コードが前回と同じ場合は検知しないについて
[終了コードが前回と同じ場合は検知しない]は,最新の終了コードと前回監視時の終了コードを比較するため,監視間隔ごとに終了コードを記憶して引き継ぎます。記憶している終了コードは次のケースでリセットされます。
-
ジョブ登録画面でジョブの定義を変更する
-
次の順序でジョブを登録,または上書き登録する
-
[終了コードが前回と同じ場合は検知しない]にチェックしジョブを登録する
-
[終了コードが前回と同じ場合は検知しない]のチェックを外してジョブを上書き登録する
-
[終了コードが前回と同じ場合は検知しない]にチェックしジョブを上書き登録する
-
(10) 検知後は次回の監視をすぐに行うについて
任意のイベント監視では60秒ごとにコマンドを実行し直しますが,[検知後は次回の監視をすぐに行う]を指定した場合,コマンドが終了するとすぐに実行し直します。そのため,すぐに終了するようなコマンドを任意のイベント監視に指定し,コマンドの終了コードと常に一致し続けると連続でコマンドを実行し続けるため,マシンの負荷が高くなります。また,ジョブ登録画面の状態確認時にリアルタイムの描写が間に合わずに,ジョブの状態では実行中だが終了日時が出力されるなどの同期が取れていない情報が表示されることがあります。その場合はイベントが大量に成立する状態が収束したあとに,状態確認画面を更新し確認してください。もしくは,「9. コマンド」の「cpareport」で状態を確認してください。
[検知後は次回の監視をすぐに行う]を指定する場合,イベントを検知するまで終了しないコマンドや,特定の終了コードのときだけ繰り返し監視させたい場合に指定してください。