Home | History | Annotate | Download | only in hpux
      1 #!/sbin/sh
      2 
      3 #
      4 # egd.rc: EGD start-up and shutdown script
      5 #
      6 
      7 # Allowed exit values:
      8 #       0 = success; causes "OK" to show up in checklist.
      9 #       1 = failure; causes "FAIL" to show up in checklist.
     10 #       2 = skip; causes "N/A" to show up in the checklist.
     11 #           Use this value if execution of this script is overridden
     12 #           by the use of a control variable, or if this script is not
     13 #           appropriate to execute for some other reason.
     14 #       3 = reboot; causes the system to be rebooted after execution.
     15 
     16 # Input and output:
     17 #       stdin is redirected from /dev/null
     18 #
     19 #       stdout and stderr are redirected to the /etc/rc.log file
     20 #       during checklist mode, or to the console in raw mode.
     21 
     22 umask 022
     23 
     24 PATH=/usr/sbin:/usr/bin:/sbin
     25 export PATH
     26 
     27 WHAT='EGD (entropy gathering daemon)'
     28 WHAT_PATH=/opt/perl/bin/egd.pl
     29 WHAT_CONFIG=/etc/rc.config.d/egd
     30 WHAT_LOG=/etc/opt/egd/egd.log
     31 
     32 # NOTE: If your script executes in run state 0 or state 1, then /usr might
     33 #       not be available.  Do not attempt to access commands or files in
     34 #       /usr unless your script executes in run state 2 or greater.  Other
     35 #       file systems typically not mounted until run state 2 include /var
     36 #       and /opt.
     37 
     38 rval=0
     39 
     40 # Check the exit value of a command run by this script.  If non-zero, the
     41 # exit code is echoed to the log file and the return value of this script
     42 # is set to indicate failure.
     43 
     44 set_return() {
     45 	x=$?
     46 	if [ $x -ne 0 ]; then
     47 		echo "EXIT CODE: $x"
     48 		rval=1	# script FAILed
     49 	fi
     50 }
     51 
     52 case $1 in
     53 'start_msg')
     54 	echo "Starting $WHAT"
     55 	;;
     56 
     57 'stop_msg')
     58 	echo "Stopping $WHAT"
     59 	;;
     60 
     61 'start')
     62 	if [ -f $WHAT_CONFIG ] ; then
     63 		. $WHAT_CONFIG
     64 	else
     65 		echo "ERROR: $WHAT_CONFIG defaults file MISSING"
     66 	fi
     67 	
     68 
     69 	if [ "$EGD_START" -eq 1 -a -x $WHAT_PATH ]; then
     70 		EGD_LOG=${EGD_LOG:-$WHAT_LOG}
     71 		su egd -c "nohup $WHAT_PATH $EGD_ARGS >$EGD_LOG 2>&1" &&
     72 			echo $WHAT started
     73 		set_return
     74 	else
     75 		rval=2
     76 	fi
     77 	;;
     78 
     79 'stop')
     80 	pid=`ps -fuegd | awk '$1 == "egd" { print $2 }'`
     81 	if [ "X$pid" != "X" ]; then
     82 		if kill "$pid"; then
     83 			echo "$WHAT stopped"
     84 		else
     85 			rval=1
     86 			echo "Unable to stop $WHAT"
     87 		fi
     88 	fi
     89 	set_return
     90 	;;
     91 
     92 *)
     93 	echo "usage: $0 {start|stop|start_msg|stop_msg}"
     94 	rval=1
     95 	;;
     96 esac
     97 
     98 exit $rval
     99