Package: dhcp3-server Version: 3.0.2-2 Tags: patch The following patch provides a "status" option for the /etc/init.d/dhcp3-server script. It also removes the pid file on "stop".
< Stephen --- dhcp3-3.0.2/debian/dhcp3-server.init.d 2005-07-31 08:00:03.000000000 -0700 +++ debian/dhcp3-server.init.d 2005-07-31 08:02:23.000000000 -0700 @@ -18,6 +18,8 @@ # should listen on.) . /etc/default/dhcp3-server +NAME=dhcpd3 +DESC="DHCP server" DHCPDPID=/var/run/dhcpd.pid test_config() @@ -30,24 +32,41 @@ fi } +# single arg is -v for messages, -q for none +check_status() +{ + if [ ! -r "$DHCPDPID" ]; then + test "$1" != -v || echo "$NAME is not running." + return 3 + fi + if read pid < "$DHCPDPID" && ps -p "$pid" > /dev/null 2>&1; then + test "$1" != -v || echo "$NAME is running." + return 0 + else + test "$1" != -v || echo "$NAME is not running but $DHCPDPID exists." + return 1 + fi +} + case "$1" in start) test_config - echo -n "Starting DHCP server: " + echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile $DHCPDPID \ --exec /usr/sbin/dhcpd3 -- -q $INTERFACES sleep 2 - if [ -f "$DHCPDPID" ] && ps h `cat "$DHCPDPID"` >/dev/null; then - echo "dhcpd3." + if check_status -q; then + echo "$NAME." else - echo "dhcpd3 failed to start - check syslog for diagnostics." + echo "$NAME failed to start - check syslog for diagnostics." exit 1 fi ;; stop) - echo -n "Stopping DHCP server: dhcpd3" + echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --pidfile $DHCPDPID + rm -f "$DHCPDPID" echo "." ;; restart | force-reload) @@ -59,8 +78,13 @@ exit 1 fi ;; + status) + echo -n "Status of $DESC: " + check_status -v + exit "$?" + ;; *) - echo "Usage: /etc/init.d/dhcp3-server {start|stop|restart|force-reload}" + echo "Usage: $0 {start|stop|restart|force-reload|status}" exit 1 esac -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]