end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

redhat系のhulft自動起動は /var/lock/subsys/hulft の制御が必要

hulftをinstallしているサーバを再起動したら、hulft起動に失敗していたのでメモ。

redhat系では起動スクリプトで/var/lock/subsys/{起動スクリプト名} というファイルがないと、shutdown時にいきなり停止し、/usr/local/HULFT/etc/hulsndd.pid が削除されず、起動時にエラーになります。

これを解消するためには
1) startの中でtouch /var/lock/subsys/hulft
2) stopのなかで、rm /var/lock/subsys/hulft
が必要です。

以下は修正済の自動起動scriptです。

#!/bin/sh

# chkconfig: 35 96 04
# description: Starts and stops the Hulft

# Source function library.
INITD=/etc/rc.d/init.d
. $INITD/functions

HULEXEP=/usr/local/HULFT/bin
HULPATH=/usr/local/HULFT/etc
PATH=/usr/local/HULFT/bin:$PATH
export HULEXEP
export HULPATH
export PATH

PROFILEDIR=/var/lock/subsys

start(){
  if [ -f $PROFILEDIR/hulft ]; then
    echo "Running Hulft"
  else
    hulsndd
    hulrcvd
    hulobsd
    touch $PROFILEDIR/hulft
  fi
  return 0
}

stop(){
  if [ -f $PROFILEDIR/hulft ]; then
    utlkillsnd
    utlkillrcv
    utlkillobs
    rm -f $PROFILEDIR/hulft
  else
    echo "Not Running Hulft "
  fi
  return 0
}

restart(){
  echo "Restarting Hulft "
  return 0
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    stop
    start
    ;;
esac

exit 0