@@ -17,6 +17,9 @@ OPTIONS=""
CFG_FILE="/etc/default/dhcrelay"
[ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
+# PID files generated by the daemon
+PID_FILES="/var/run/dhcrelay.pid /var/run/dhcrelay6.pid"
+
# Sanity checks
test -f /usr/sbin/dhcrelay || exit 0
test -n "$INTERFACES" || exit 0
@@ -38,8 +41,13 @@ case "$1" in
;;
stop)
echo -n "Stopping DHCP relay: "
- start-stop-daemon -K -q -x /usr/sbin/dhcrelay
- [ $? = 0 ] && echo "OK" || echo "FAIL"
+ if start-stop-daemon -K -q -x /usr/sbin/dhcrelay; then
+ # This daemon does not remove its PID file when it exits.
+ rm -f ${PID_FILES}
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
;;
restart | force-reload)
$0 stop
@@ -14,6 +14,9 @@ OPTIONS=""
CFG_FILE="/etc/default/dhcpd"
[ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
+# PID files generated by the daemon
+PID_FILES="/var/run/dhcpd.pid /var/run/dhcpd6.pid"
+
# Sanity checks
test -f /usr/sbin/dhcpd || exit 0
test -f /etc/dhcp/dhcpd.conf || exit 0
@@ -28,8 +31,13 @@ case "$1" in
;;
stop)
echo -n "Stopping DHCP server: "
- start-stop-daemon -K -q -x /usr/sbin/dhcpd
- [ $? = 0 ] && echo "OK" || echo "FAIL"
+ if start-stop-daemon -K -q -x /usr/sbin/dhcpd; then
+ # This daemon does not remove its PID file when it exits.
+ rm -f ${PID_FILES}
+ echo "OK"
+ else
+ echo "FAIL"
+ fi
;;
restart | force-reload)
$0 stop
These daemons do not remove their PID files, so do it manually in the scripts. Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com> --- package/dhcp/S80dhcp-relay | 12 ++++++++++-- package/dhcp/S80dhcp-server | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-)