#!/bin/sh # # mglms MaGic License Manager for Suse # # functions start the FLEXlm license manager # # version /etc/rc.d/init.d/mglms 0.3 (pre.alpha) 06.10.2000 # to be used with SuSE # # author klaus-dieter uhlich, kladde # # mailing list: www.egroups.com/groups/magicu-l # # LM_PATH: directory of the FLEXlm license manager # default is "/usr/magicadm/license" LM_PATH=/usr/magicadm/license # LM_USER: get the environment of an user # default is "magicadm" LM_USER=magicadm # # # # # source function library . /etc/rc.config # # Set the variable START_MGFLEXLM = "yes" in /etc/rc.config # to start the license manager on runtime level change # # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # test $link = $base && START_MGFLEXLM=yes test "$START_MGFLEXLM" = "yes" || exit 0 # # set additional messages based on rc.config # to give more information. # if test "$TERM" != "raw" ; then rc_up="${stat}${attn}${extd} up${norm}" rc_down="${stat}${attn}${extd}down${norm}" else rc_up=" up" rc_down=" down" fi # # if you are not $LM_USER recall this script with $LM_USER. # if [ "$USER" != "$LM_USER" ] ; then su $LM_USER -c "umask 022; $0 $1" exit $? fi # # test the enviroment variables # if [ ! -f $LM_PATH/lmgrd ] ; then echo "mglms: $LM_PATH/lmgrd not found$rc_failed" exit 1 fi # if [ ! -f $LM_PATH/license.dat ] ; then echo "mglms: $LM_PATH/license.dat not found$rc_failed" exit 2 fi # # # # See how we were called. # # echo -n "mglms service $1:" case "$1" in start) checkproc $LM_PATH/lmgrd && return=$rc_up || return=$rc_failed if [ "$return" == "$rc_failed" ] ; then cd $LM_PATH $LM_PATH/lmgrd -c $LM_PATH/license.dat -l $LM_PATH/license.$$ checkproc $LM_PATH/lmgrd && return=$rc_done || return=$rc_failed fi echo -e $return ;; stop) checkproc $LM_PATH/lmgrd && return=$rc_done || return=$rc_down if [ "$return" == "$rc_done" ] ; then killproc -TERM $LM_PATH/lmgrd && return=$rc_done || return=$rc_failed fi echo -e $return ;; reload|restart) echo $0 stop $0 start ;; status) checkproc $LM_PATH/lmgrd && return=$rc_up || return=$rc_down echo -e $return ;; *) echo echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac test "$return" == "$rc_failed" && exit 1 exit 0