1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunNAME="rngd" 4*4882a593SmuzhiyunDAEMON="/usr/sbin/${NAME}" 5*4882a593SmuzhiyunDAEMON_ARGS="" 6*4882a593SmuzhiyunCFG_FILE="/etc/default/${NAME}" 7*4882a593SmuzhiyunPID_FILE="/var/run/${NAME}.pid" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# Read configuration variable file if it is present 10*4882a593Smuzhiyun[ -r "${CFG_FILE}" ] && . "${CFG_FILE}" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunstart() 13*4882a593Smuzhiyun{ 14*4882a593Smuzhiyun printf "Starting ${NAME}: " 15*4882a593Smuzhiyun start-stop-daemon -S -q -x "${DAEMON}" -- ${DAEMON_ARGS} 16*4882a593Smuzhiyun [ $? = 0 ] && echo "OK" || echo "FAIL" 17*4882a593Smuzhiyun} 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunstop() 20*4882a593Smuzhiyun{ 21*4882a593Smuzhiyun printf "Stopping ${NAME}: " 22*4882a593Smuzhiyun # This daemon does not exit properly with the default TERM signal unless 23*4882a593Smuzhiyun # it's forced to work by something reading /dev/random. Killing it and 24*4882a593Smuzhiyun # removing its PID file is more straightforward. 25*4882a593Smuzhiyun if start-stop-daemon -K -q -s KILL -p "${PID_FILE}" -n "${NAME}"; then 26*4882a593Smuzhiyun rm -f "${PID_FILE}" 27*4882a593Smuzhiyun echo "OK" 28*4882a593Smuzhiyun else 29*4882a593Smuzhiyun echo "FAIL" 30*4882a593Smuzhiyun fi 31*4882a593Smuzhiyun} 32*4882a593Smuzhiyun 33*4882a593Smuzhiyuncase "$1" in 34*4882a593Smuzhiyun start) 35*4882a593Smuzhiyun start 36*4882a593Smuzhiyun ;; 37*4882a593Smuzhiyun stop) 38*4882a593Smuzhiyun stop 39*4882a593Smuzhiyun ;; 40*4882a593Smuzhiyun restart|reload) 41*4882a593Smuzhiyun stop 42*4882a593Smuzhiyun start 43*4882a593Smuzhiyun ;; 44*4882a593Smuzhiyun *) 45*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|reload}" >&2 46*4882a593Smuzhiyun exit 1 47*4882a593Smuzhiyun ;; 48*4882a593Smuzhiyunesac 49