5 kx #!/bin/sh
5 kx #
5 kx # /etc/rc.d/rc.@CSCM_PROGRAM@d - @CSCM_PROGRAM_NAME@ daemon control script.
5 kx #
5 kx
5 kx BIN=@sbindir@/@PROGRAM_DAEMON@
5 kx CONF=@CSCM_CONFIG@
5 kx BCF=@CSCM_HOME_PATH@/@CSCM_PROGRAM@/@CSCM_PROGRAM@.bcf
5 kx PID=@CSCM_PID_DIR@/@CSCM_PROGRAM@d.pid
5 kx LOG=@CSCM_LOG_DIR@/@CSCM_PROGRAM@d.log
5 kx
5 kx INOTIFY=--inotify
5 kx
5 kx cscmd_start() {
5 kx # Sanity checks.
5 kx if [ ! -r $CONF ]; then
5 kx echo "$CONF does not appear to exist. Abort."
5 kx exit 1
5 kx fi
5 kx
5 kx if [ -s $PID ]; then
5 kx echo "@CSCM_PROGRAM_NAME@ daemon appears to already be running?"
5 kx exit 1
5 kx fi
5 kx
5 kx echo "Starting @CSCM_PROGRAM_NAME@ server daemon..."
5 kx if [ -x $BIN ]; then
5 kx $BIN --daemonize $INOTIFY --scm=@CSCM_NAME@ --pid=$PID --log=$LOG --bcf=$BCF --config=$CONF
5 kx fi
5 kx }
5 kx
5 kx cscmd_test_conf() {
5 kx echo "Checking configuration for correct syntax and then"
5 kx echo "trying to open files referenced in configuration..."
5 kx echo ""
5 kx if [ -s $PID ] ; then
5 kx echo "@PROGRAM_DAEMON@: $CONF: Config file is correct."
5 kx else
5 kx $BIN --test --scm=@CSCM_NAME@ --pid=$PID --log=$LOG --bcf=$BCF --config=$CONF
5 kx fi
5 kx }
5 kx
5 kx cscmd_status() {
5 kx if [ -s $PID ] ; then
5 kx echo "@CSCM_PROGRAM_NAME@ daemon is running as PID: $(cat $PID)"
5 kx else
5 kx echo "@CSCM_PROGRAM_NAME@ daemon is stopped."
5 kx fi
5 kx }
5 kx
5 kx cscmd_stop() {
5 kx echo "Shutdown @CSCM_PROGRAM_NAME@ daemon gracefully..."
5 kx if [ -s $PID ] ; then
5 kx kill -TERM $(cat $PID)
5 kx else
5 kx echo "@CSCM_PROGRAM_NAME@ daemon appears to already be stopped."
5 kx fi
5 kx }
5 kx
5 kx cscmd_reload() {
5 kx echo "Reloading @CSCM_PROGRAM_NAME@ daemon configuration..."
5 kx if [ -s $PID ] ; then
5 kx kill -HUP $(cat $PID)
5 kx else
5 kx echo "@CSCM_PROGRAM_NAME@ daemon is not running."
5 kx fi
5 kx }
5 kx
5 kx cscmd_restart() {
5 kx cscmd_stop
5 kx sleep 3
5 kx cscmd_start
5 kx }
5 kx
5 kx case "$1" in
5 kx check)
5 kx cscmd_test_conf
5 kx ;;
5 kx reload)
5 kx cscmd_reload
5 kx ;;
5 kx restart)
5 kx cscmd_restart
5 kx ;;
5 kx start)
5 kx cscmd_start
5 kx ;;
5 kx stop)
5 kx cscmd_stop
5 kx ;;
5 kx status)
5 kx cscmd_status
5 kx ;;
5 kx *)
5 kx echo "usage: `basename $0` {check|reload|restart|start|stop|status}"
5 kx esac