このメソッドは、プロセス監視機能 (pmfadm) を使用してアプリケーションを起動します。pmfadm コマンドを使用すると、アプリケーションを再起動するときの期間と回数を指定できます。このため、RTR ファイルには 2 つのプロパティ Retry_count と Retry_interval があります。Retry_count は、アプリケーションを再起動する回数を指定し、Retry_interval は、アプリケーションを再起動する期間を指定します。
START メソッドは、scha_resource_get コマンドを使用して Retry_count と Retry_interval の値を取得し、これらの値をシェル変数に格納します。次に、-n オプションと -t オプションを使用し、これらの値を pmfadm に渡します。
# RTR ファイルから再試行最大回数の値を取得する。 RETRY_CNT=`scha_resource_get -O Retry_Count -R $RESOURCE_NAME ¥ -G $RESOURCEGROUP_NAME` # RTR ファイルから再試行最大期間の値を取得する。この値の単位は秒であり、 # pmfadm に渡すときは分に変換する必要がある。変換時、端数は切り捨て # られるので注意すること。たとえば、50 秒は 1 分に切り上げられる。 ((RETRY_INTRVAL=`scha_resource_get -O Retry_Interval -R $RESOURCE_NAME ¥ -G $RESOURCEGROUP_NAME` / 60)) # PMF の制御下で in.named デーモンを起動する。RETRY_INTERVAL の期間、 # $RETRY_COUNT の回数だけ、クラッシュおよび再起動できる。どちらかの # 値以上クラッシュした場合、PMF は再起動をやめる。 # <$PMF_TAG> というタグですでにプロセスが登録されている場合、 # PMF はすでにプロセスが動作していることを示す警告メッセージを送信する。 # pmfadm -c $PMF_TAAG -n $RETRY_CNT -t $RETRY_INTRVAL ¥ /usr/sbin/in.named -c named.conf # # HA-DNS が起動していることを示すメッセージを記録する。 if [ $? -eq 0 ]; then logger -p ${SYSLOG_FACILITY}.err ¥ -t [$SYSLOG_TAG] ¥ "${ARGV0} HA-DNS successfully started" fi exit 0 |