Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

啟動應用程式

該方法將使用程序管理員工具 (pmfadm) 來啟動應用程式。 pmfadm 指令可讓您設定在指定時間框架期間重新啟動應用程式的次數。 RTR 檔案包含兩個屬性,其中 Retry_count 指定嘗試重新啟動應用程式的次數,而 Retry_interval 指定重新啟動的時間間隔。

Start 方法使用 scha_resource_get() 函式來擷取 Retry_countRetry_interval 的值,並將它們的值儲存於 shell 變數中。 然後它使用 -n-t 選項將這些值傳送至 pmfadm


# Get the value for retry count from the RTR file.
RETRY_CNT=`scha_resource_get -O Retry_Count -R $RESOURCE_NAME \
-G $RESOURCEGROUP_NAME`
# Get the value for retry interval from the RTR file. This value is in seconds
# and must be converted to minutes for passing to pmfadm. Note that the 
# conversion rounds up; for example, 50 seconds rounds up to 1 minute.
((RETRY_INTRVAL=`scha_resource_get -O Retry_Interval -R $RESOURCE_NAME \
-G $RESOURCEGROUP_NAME` / 60))

# Start the in.named daemon under the control of PMF. Let it crash and restart 
# up to $RETRY_COUNT times in a period of $RETRY_INTERVAL; if it crashes
# more often than that, PMF will cease trying to restart it.
# If there is a process already registered under the tag
# <$PMF_TAG>, then PMF sends out an alert message that the
# process is already running.
pmfadm -c $PMF_TAAG -n $RETRY_CNT -t $RETRY_INTRVAL \
    /usr/sbin/in.named -c named.conf

# Log a message indicating that HA-DNS has been started.
if [ $? -eq 0 ]; then
   logger -p ${SYSLOG_FACILITY}.err \
         -t [$SYSLOG_TAG] \
         "${ARGV0} HA-DNS successfully started"
fi
exit 0