#!/bin/bash # # iseg2dim Start and stop the DIM server for Iseg HV PSUs. # # chkconfig: 345 90 10 # description: iseg2dim is a DIM server to control and monitor \ # high-voltage power supplies by Iseg. # processname: iseg2dim # # Source function library. # To run different servers, create symbolic link ro subsystems, eg: # ln -s /usr/local/bin/iseg2dim /usr/local/bin//iseg2dim_ra12cr2 . /etc/rc.d/init.d/functions # subsys may be one of: # ra12cr2 # ra12cr3 # ra14cr3 subsys="ra12cr2" # # coredumps enable_coredumps="true" RETVAL=0 prog="iseg2dim_$subsys" opts="--configfile /etc/trd/iseg2dim_${subsys}.cfg" iseg2dim="/usr/bin/$prog" lockfile="/var/lock/subsys/iseg2dim_$subsys" pidfile="/var/run/$prog.pid" # Shell functions to cut down on unnecessary shell invocations. start() { [ -x $iseg2dim ] || exit 5 if [ -f $lockfile ]; then echo "$prog already running ($lockfile)" return 0 fi echo -n $"Starting $prog: " if [ "$enable_coredumps"x == "true"x ]; then echo "/tmp/core_%e.%t.%p" > /proc/sys/kernel/core_pattern echo -n "coredumps to /tmp/core_%e.%t.%p" ulimit -c unlimited fi $iseg2dim $opts && success || failure RETVAL=$? usleep 100000 pid=`pidof -o $$ -o $PPID -o %PPID -x $prog` if [ -n "$pid" ] ; then echo_success touch $lockfile echo "$pid" > $pidfile RETVAL=0 else echo_failure RETVAL= fi echo } stop() { [ ! -f $lockfile ] && return 0 echo -n $"Stopping $prog: " killproc ${prog} RETVAL=$? echo rm -f $pidfile rm -f $lockfile # [ $RETVAL = 0 ] && rm -f $lockfile } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ${iseg2dim} ;; condrestart) if [ -f $lockfile ] ; then stop start fi ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart}" RETVAL=2 ;; esac exit $RETVAL