#!/bin/sh
# chkconfig: 35 99 01
# description: The Reprise License Manager daemon.
# processname: dcv-rlm
 
### BEGIN INIT INFO
# Provides: dcv-rlm
# Required-Start: $local_fs $remote_fs $syslog
# Required-Stop: $local_fs $remote_fs $syslog
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: The Reprise License Manager daemon.
# Description: A service that runs the Reprise License Manager daemon.
### END INIT INFO
 
# user used to run the daemon
RLM_USER="rlm"
# root of rlm installation
RLM_ROOT="/opt/nice/rlm"
# license directory (license files should have .lic extension)
RLM_LICENSE_DIR="/opt/nice/rlm/license"
# log file
RLM_LOG_FILE="/var/log/rlm.log"
_getpid() {
    pidof -o $$ -o $PPID -o %PPID -x "$1"
}
start() {
    echo -n "Starting rlm: "
    touch ${RLM_LOG_FILE}
    chown "${RLM_USER}" ${RLM_LOG_FILE}
    su -p -s /bin/sh "${RLM_USER}" -c "${RLM_ROOT}/rlm -c ${RLM_LICENSE_DIR} \
     -nows -dlog +${RLM_LOG_FILE} &"
    if [ $? -ne 0 ]; then
 echo "FAILED"
 return 1
    fi
    echo "OK"
}
stop() {
    echo -n "Stopping rlm: "
    pid=`_getpid ${RLM_ROOT}/rlm`
    if [ -n "$pid" ]; then
 kill $pid >/dev/null 2>&1
 sleep 3
 if [ -d "/proc/$pid" ] ; then
     echo "FAILED"
     return 1
 fi
    fi
    echo "OK"
}
status() {
    pid=`_getpid ${RLM_ROOT}/rlm`
    if [ -z "$pid" ]; then
 echo "rlm is stopped"
 return 3
    fi
    echo "rlm (pid $pid) is running..."
    return 0
}
restart() {
    stop
    start
}
case "$1" in
    start)
 start
 ;;
    stop)
 stop
 ;;
    status)
 status
 ;;
    restart)
 restart
 ;;
    *)
 echo $"Usage: $0 {start|stop|status|restart}"
 exit 1
esac
exit $?
# ex:ts=4:et:
