--- /etc/init.d/krb5-admin-server.orig	2011-09-22 10:41:26.000000000 +0900
+++ /etc/init.d/krb5-admin-server	2011-10-15 02:08:13.000000000 +0900
@@ -26,6 +26,7 @@
 NAME=kadmind
 DAEMON=/usr/sbin/$NAME
 DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
 SCRIPTNAME=/etc/init.d/krb5-admin-server
 DEFAULT=/etc/default/krb5-admin-server
 
@@ -47,10 +48,10 @@
 #   2 if daemon could not be started
 do_start()
 {
-    start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \
+    start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --name $NAME --test \
         > /dev/null || return 1
-    start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \
-        -- $DAEMON_ARGS || return 2
+    start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --name $NAME \
+        -- -P $PIDFILE $DAEMON_ARGS || return 2
 }
 
 # Return
@@ -60,7 +61,11 @@
 #   other if a failure occurred
 do_stop()
 {
-    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME
+    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+    RETVAL="$?"
+    [ "$RETVAL" = 2 ] && return 2
+    rm -f $PIDFILE
+    return "$RETVAL"
 }
 
 
@@ -112,8 +117,12 @@
     esac
     ;;
 
+  status)
+    status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $?
+    ;;
+
   *)
-    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+    echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2
     exit 3
     ;;
 esac
