Browse Source

%status and pidfile handling

master
Michael van Elst 23 years ago committed by Ralf S. Engelschall
parent
commit
dfba9f51b7
  1. 49
      djbdns/rc.djbdns

49
djbdns/rc.djbdns

@ -10,8 +10,19 @@
djbdns_var="@l_prefix@/var/djbdns"
djbdns_progs="dnscache tinydns"
%start -p 200 -u @l_susr@
rcService djbdns enable yes || exit 0
%common
djbdns_signal () {
local s
local rc=0
for s in $djbdns_progs ; do
if [ -f $djbdns_var/$s.pid ]; then
kill -$1 `cat $djbdns_var/$s.pid` || rc=1
fi
done
[ $rc -eq 0 ]
}
djbdns_start () {
local s
for s in $djbdns_progs ; do
if [ -d $djbdns_var/$s ]; then
$djbdns_runsvc \
@ -20,18 +31,30 @@
>$djbdns_var/$s.pid
fi
done
}
djbdns_stop () {
local s
djbdns_signal TERM
for s in $djbdns_progs ; do
rm -f $djbdns_var/$s.pid 2>/dev/null || true
done
}
%status -p 200 -u @l_susr@ -o
ntp_usable="unknown"
ntp_active="no"
rcService ntp enable yes && \
rcVarIsYes ntp_daemon && \
ntp_signal 0 && ntp_active="yes"
echo "ntp_enable=\"$ntp_enable\""
echo "ntp_usable=\"$ntp_usable\""
echo "ntp_active=\"$ntp_active\""
%start -p 200 -u @l_susr@
rcService djbdns enable yes || exit 0
djbdns_start
%stop -p 200 -u @l_susr@
rcService djbdns enable yes || exit 0
for s in $djbdns_progs ; do
if [ -f $djbdns_var/$s.pid ]; then
pid=`cat $djbdns_var/$s.pid`
if [ x"$pid" != x ]; then
kill -TERM "$pid"
rm $djbdns_var/$s.pid
else
echo "ERROR: Invalid pid-file '$djbdns_var/$s.pid'"
fi
fi
done
djbdns_stop

Loading…
Cancel
Save