Дополнение A. Сценарий запуска RLM
#! /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: