diff options
Diffstat (limited to 'patches/source/dnsmasq/rc.dnsmasq')
-rw-r--r-- | patches/source/dnsmasq/rc.dnsmasq | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/patches/source/dnsmasq/rc.dnsmasq b/patches/source/dnsmasq/rc.dnsmasq new file mode 100644 index 000000000..f19a17239 --- /dev/null +++ b/patches/source/dnsmasq/rc.dnsmasq @@ -0,0 +1,43 @@ +#!/bin/sh +# Start/stop/restart dnsmasq (a small DNS/DHCP server): + +# Start dnsmasq: +dnsmasq_start() { + if [ -x /usr/sbin/dnsmasq ]; then + echo "Starting dnsmasq: /usr/sbin/dnsmasq" + /usr/sbin/dnsmasq + fi +} + +# Stop dnsmasq: +dnsmasq_stop() { + # Try to use the .pid file first: + if pgrep -l -F /var/run/dnsmasq.pid 2> /dev/null | grep -q dnsmasq ; then + echo "Stopping dnsmasq." + pkill -F /var/run/dnsmasq.pid 2> /dev/null + else # kill any dnsmasq processes in this namespace: + echo "Stopping dnsmasq." + killall --ns $$ dnsmasq 2> /dev/null + fi +} + +# Restart dnsmasq: +dnsmasq_restart() { + dnsmasq_stop + sleep 1 + dnsmasq_start +} + +case "$1" in +'start') + dnsmasq_start + ;; +'stop') + dnsmasq_stop + ;; +'restart') + dnsmasq_restart + ;; +*) + echo "usage rc.dnsmasq: start|stop|restart" +esac |