github.com/Cloud-Foundations/Dominator@v0.3.4/init.d/subd.Debian-7 (about)

     1  #! /bin/bash --posix
     2  #
     3  # subd		Start up the Dominator subject daemon
     4  #
     5  # chkconfig: 2345 95 25
     6  # description: subd is the Dominator subject daemon.
     7  
     8  ### BEGIN INIT INFO
     9  # Provides:		subd
    10  # Required-Start:	$local_fs $network $syslog
    11  # Required-Stop:	$local_fs $network $syslog
    12  # Default-Start:	2 3 4 5
    13  # Default-Stop:		0 1 6
    14  # Short-Description:	Dominator subject daemon
    15  ### END INIT INFO
    16  
    17  # /etc/init.d/subd: start and stop the Dominator subject daemon
    18  
    19  # CentOS-6 doesn't provide this, so provide a default.
    20  log_daemon_msg ()
    21  {
    22      echo "$@"
    23  }
    24  
    25  . /lib/lsb/init-functions
    26  
    27  umask 022
    28  
    29  readonly default_log_dir='/var/log/subd'
    30  readonly LOOP_PIDFILE='/var/run/subd.loop.pid'
    31  readonly PIDFILE='/var/run/subd.pid'
    32  
    33  DAEMON='/usr/local/sbin/subd'
    34  LOG_DIR="$default_log_dir"
    35  LOG_QUOTA=
    36  LOGBUF_LINES=
    37  
    38  PROG_ARGS=
    39  
    40  [ -f /etc/default/subd ] && . /etc/default/subd
    41  
    42  test -x "$DAEMON" || exit 0
    43  
    44  export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin"
    45  
    46  mkdir -m 0755 -p "$LOG_DIR"
    47  
    48  if [ -n "$LOG_DIR" ] && [ "$LOG_DIR" != "$default_log_dir" ]; then
    49      PROG_ARGS="$PROG_ARGS -logDir=$LOG_DIR"
    50  fi
    51  
    52  if [ -n "$LOG_QUOTA" ]; then
    53      PROG_ARGS="$PROG_ARGS -logQuota=$LOG_QUOTA"
    54  fi
    55  
    56  if [ -n "$LOGBUF_LINES" ]; then
    57      PROG_ARGS="$PROG_ARGS -logbufLines=$LOGBUF_LINES"
    58  fi
    59  
    60  start_loop ()
    61  {
    62      echo "$BASHPID" > "$LOOP_PIDFILE"
    63      while true; do
    64  	"$DAEMON" $PROG_ARGS
    65  	rm -f "$PIDFILE"
    66  	sleep 1
    67      done
    68  }
    69  
    70  case "$1" in
    71    start)
    72  	log_daemon_msg "Starting Dominator subject daemon" "subd" || true
    73  	(start_loop < /dev/null &> /dev/null &)
    74  	;;
    75    stop)
    76  	log_daemon_msg "Stopping Dominator subject daemon" "subd" || true
    77  	[ -s "$LOOP_PIDFILE" ] && kill -KILL $(cat "$LOOP_PIDFILE")
    78  	[ -s "$PIDFILE" ]      && kill -TERM $(cat "$PIDFILE")
    79  	rm -f "$LOOP_PIDFILE" "$PIDFILE"
    80  	;;
    81  
    82    reload|force-reload)
    83  	kill -HUP $(cat "$PIDFILE")
    84  	;;
    85  
    86    restart)
    87  	kill -HUP $(cat "$PIDFILE")
    88  	;;
    89  
    90    start-if-down)
    91  	[ -s "$LOOP_PIDFILE" ] && kill -0 $(cat "$LOOP_PIDFILE") &> /dev/null && exit
    92  	[ -s "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") &> /dev/null && exit
    93  	log_daemon_msg "Starting Dominator subject daemon" "subd" || true
    94  	(start_loop < /dev/null &> /dev/null &)
    95  	;;
    96  
    97    *)
    98  	log_action_msg "Usage: /etc/init.d/subd {start|stop|reload|force-reload|restart}" || true
    99  	exit 1
   100  esac
   101  
   102  exit 0