1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunDAEMON="klogd" 4*4882a593SmuzhiyunPIDFILE="/var/run/$DAEMON.pid" 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunKLOGD_ARGS="" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun# shellcheck source=/dev/null 9*4882a593Smuzhiyun[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun# BusyBox' klogd does not create a pidfile, so pass "-n" in the command line 12*4882a593Smuzhiyun# and use "-m" to instruct start-stop-daemon to create one. 13*4882a593Smuzhiyunstart() { 14*4882a593Smuzhiyun printf 'Starting %s: ' "$DAEMON" 15*4882a593Smuzhiyun # shellcheck disable=SC2086 # we need the word splitting 16*4882a593Smuzhiyun start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ 17*4882a593Smuzhiyun -- -n $KLOGD_ARGS 18*4882a593Smuzhiyun status=$? 19*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 20*4882a593Smuzhiyun echo "OK" 21*4882a593Smuzhiyun else 22*4882a593Smuzhiyun echo "FAIL" 23*4882a593Smuzhiyun fi 24*4882a593Smuzhiyun return "$status" 25*4882a593Smuzhiyun} 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunstop() { 28*4882a593Smuzhiyun printf 'Stopping %s: ' "$DAEMON" 29*4882a593Smuzhiyun start-stop-daemon -K -q -p "$PIDFILE" 30*4882a593Smuzhiyun status=$? 31*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 32*4882a593Smuzhiyun rm -f "$PIDFILE" 33*4882a593Smuzhiyun echo "OK" 34*4882a593Smuzhiyun else 35*4882a593Smuzhiyun echo "FAIL" 36*4882a593Smuzhiyun fi 37*4882a593Smuzhiyun return "$status" 38*4882a593Smuzhiyun} 39*4882a593Smuzhiyun 40*4882a593Smuzhiyunrestart() { 41*4882a593Smuzhiyun stop 42*4882a593Smuzhiyun sleep 1 43*4882a593Smuzhiyun start 44*4882a593Smuzhiyun} 45*4882a593Smuzhiyun 46*4882a593Smuzhiyuncase "$1" in 47*4882a593Smuzhiyun start|stop|restart) 48*4882a593Smuzhiyun "$1";; 49*4882a593Smuzhiyun reload) 50*4882a593Smuzhiyun # Restart, since there is no true "reload" feature. 51*4882a593Smuzhiyun restart;; 52*4882a593Smuzhiyun *) 53*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|reload}" 54*4882a593Smuzhiyun exit 1 55*4882a593Smuzhiyunesac 56