diff options
Diffstat (limited to 'main/djbdns/dnscache.initd')
-rwxr-xr-x | main/djbdns/dnscache.initd | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/main/djbdns/dnscache.initd b/main/djbdns/dnscache.initd index 481022496e..986094a1f0 100755 --- a/main/djbdns/dnscache.initd +++ b/main/djbdns/dnscache.initd @@ -3,17 +3,17 @@ # written for alpine linux - NBA April 2007 # -- Statrup variables -UID=$( grep dnscache /etc/passwd | cut -f3 -d: ) -GID=$( grep dnscache /etc/group | cut -f3 -d: ) ROOT=/etc/dnscache DAEMON=/usr/bin/dnscache -VARRUN=/var/run/dnscache +PIDFILE=/var/run/dnscache.pid #----------------------------------------------------------------- # Main program start() { + UID=$( grep dnscache /etc/passwd | cut -f3 -d: ) + GID=$( grep dnscache /etc/group | cut -f3 -d: ) ebegin "Starting dnscache" if [ -z "$UID" ] || [ -z "$GID" ]; then @@ -21,39 +21,17 @@ start() { return 1 fi - # if its already running, just report it is - if [ -e ${VARRUN}.pid ] && [ -d /proc/$( cat ${VARRUN}.pid ) ]; then - eend 0 - return 0 - fi - - ( - export UID GID ROOT - [ -n "$IPSEND" ] && export IPSEND - [ -n "$IP" ] && export IP - [ -n "$HIDETTL" ] && export HIDETTL - [ -n "$IPSEND" ] && export IPSEND - [ -n "$CACHESIZE" ] && export CACHESIZE - [ -n "$FORWARDONLY" ] && export FORWARDONLY - - $DAEMON </dev/urandom >/dev/null 2>/dev/null & - pid=$! - sleep 1 - # Check if its still running - if ! [ -d /proc/$pid ]; then - $DAEMON </dev/urandom - return 1 - fi - echo $pid > ${VARRUN}.pid - eend $? - return 0 - ) + start-stop-daemon --start --env "UID=$UID" --env "GID=$GID" \ + --env "ROOT=$ROOT" --env "IP=$IP" --env "IPSEND=$IPSEND" \ + --env "HIDETTL=$HIDETTL" --env "CACHESIZE=$CACHESIZE" \ + --env "FORWARDONLY=$FORWARDONLY" --pidfile $PIDFILE \ + --background --make-pidfile --exec $DAEMON + eend $? } stop() { ebegin "Stopping dnscache" - start-stop-daemon --stop -m --pidfile ${VARRUN}.pid --oknodo \ - --exec $DAEMON && rm ${VARRUN}.pid - eend $? + start-stop-daemon --stop --pidfile $PIDFILE --exec $DAEMON + eend $? } |