123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #!/sbin/sh
- #
- # egd.rc: EGD start-up and shutdown script
- #
- # Allowed exit values:
- # 0 = success; causes "OK" to show up in checklist.
- # 1 = failure; causes "FAIL" to show up in checklist.
- # 2 = skip; causes "N/A" to show up in the checklist.
- # Use this value if execution of this script is overridden
- # by the use of a control variable, or if this script is not
- # appropriate to execute for some other reason.
- # 3 = reboot; causes the system to be rebooted after execution.
- # Input and output:
- # stdin is redirected from /dev/null
- #
- # stdout and stderr are redirected to the /etc/rc.log file
- # during checklist mode, or to the console in raw mode.
- umask 022
- PATH=/usr/sbin:/usr/bin:/sbin
- export PATH
- WHAT='EGD (entropy gathering daemon)'
- WHAT_PATH=/opt/perl/bin/egd.pl
- WHAT_CONFIG=/etc/rc.config.d/egd
- WHAT_LOG=/etc/opt/egd/egd.log
- # NOTE: If your script executes in run state 0 or state 1, then /usr might
- # not be available. Do not attempt to access commands or files in
- # /usr unless your script executes in run state 2 or greater. Other
- # file systems typically not mounted until run state 2 include /var
- # and /opt.
- rval=0
- # Check the exit value of a command run by this script. If non-zero, the
- # exit code is echoed to the log file and the return value of this script
- # is set to indicate failure.
- set_return() {
- x=$?
- if [ $x -ne 0 ]; then
- echo "EXIT CODE: $x"
- rval=1 # script FAILed
- fi
- }
- case $1 in
- 'start_msg')
- echo "Starting $WHAT"
- ;;
- 'stop_msg')
- echo "Stopping $WHAT"
- ;;
- 'start')
- if [ -f $WHAT_CONFIG ] ; then
- . $WHAT_CONFIG
- else
- echo "ERROR: $WHAT_CONFIG defaults file MISSING"
- fi
-
- if [ "$EGD_START" -eq 1 -a -x $WHAT_PATH ]; then
- EGD_LOG=${EGD_LOG:-$WHAT_LOG}
- su egd -c "nohup $WHAT_PATH $EGD_ARGS >$EGD_LOG 2>&1" &&
- echo $WHAT started
- set_return
- else
- rval=2
- fi
- ;;
- 'stop')
- pid=`ps -fuegd | awk '$1 == "egd" { print $2 }'`
- if [ "X$pid" != "X" ]; then
- if kill "$pid"; then
- echo "$WHAT stopped"
- else
- rval=1
- echo "Unable to stop $WHAT"
- fi
- fi
- set_return
- ;;
- *)
- echo "usage: $0 {start|stop|start_msg|stop_msg}"
- rval=1
- ;;
- esac
- exit $rval
|