コンフィグレーションガイド Vol.1
ここでは,eventmonitorモジュールのget_exec_trigger()関数を使用して,動作中のスクリプトから,自身が起動した要因(イベント起動スクリプトの場合は発生イベント)を取得する方法を説明します。
- <この項の構成>
- (1) スクリプトファイルの例
(1) スクリプトファイルの例
イベント起動スクリプトの起動要因(発生イベント)を取得するスクリプトファイルの例を次に示します。
図17-30 スクリプトファイル記載例
import sys import extlib.eventmonitor <-1 dict = extlib.eventmonitor.get_exec_trigger () <-2 if dict['type'] == extlib.eventmonitor.APPLET : <-3 # アプレット if dict['applet']['type'] == extlib.eventmonitor.TIMER_EVT : <-4 # タイマイベント if dict['applet']['condition'][extlib.eventmonitor.TIMER_TYPE] == \ extlib.eventmonitor.CRON : # cronタイマ # cron監視条件の文字列を表示 print("[condition]",file=sys.stderr) print(dict['applet']['condition'][extlib.eventmonitor.CRON],file=sys.stderr) elif dict['applet']['condition'][extlib.eventmonitor.TIMER_TYPE] == \ extlib.eventmonitor.INTERVAL : # intervalタイマ # interval監視条件の文字列を表示 print("[condition]",file=sys.stderr) print(dict['applet']['condition'][extlib.eventmonitor.INTERVAL], file=sys.stderr) elif dict['applet']['type'] == extlib.eventmonitor.SYSMSG_EVT : <-5 # システムメッセージイベント ## システムメッセージ監視条件の表示 print("[condition]",file=sys.stderr) ## イベントレベル print("SYSMSG_EVENT_LEVEL:" + str(dict['applet']['condition'] [extlib.eventmonitor.SYSMSG_EVENT_LEVEL]),file=sys.stderr) ## イベント発生要因のシステムメッセージを表示 print("[trigger system message]",file=sys.stderr) ## 発生時刻 print("SYSMSG_TIME:" + dict['applet']['trigger'] [extlib.eventmonitor.SYSMSG_TIME],file=sys.stderr) ## メッセージ識別子 print("SYSMSG_MSG_ID:" + str(hex(dict['applet']['trigger'] [extlib.eventmonitor.SYSMSG_MSG_ID])),file=sys.stderr) sys.exit()
- モジュールをインポートします。
- 起動要因(発生イベント)を取得する関数を呼び出します。
- スクリプトの起動要因がアプレット機能(イベント起動スクリプト)かどうか判定します。
- 起動要因がタイマ監視の場合の監視条件を取得します。
- 起動要因がシステムメッセージ監視の場合の監視条件,および起動要因となったシステムメッセージの情報を取得します。
All Rights Reserved, Copyright(C), 2014, 2019, ALAXALA Networks, Corp.