Bläddra i källkod

HADOOP-8656 Backport forced daemon shutdown of HADOOP-8353 into branch-1

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.1@1372692 13f79535-47bb-0310-9956-ffa450edef68
Steve Loughran 12 år sedan
förälder
incheckning
1baffd1ed5
2 ändrade filer med 12 tillägg och 2 borttagningar
  1. 3 0
      CHANGES.txt
  2. 9 2
      bin/hadoop-daemon.sh

+ 3 - 0
CHANGES.txt

@@ -12,6 +12,9 @@ Release 1.1.1 - Unreleased
 
   IMPROVEMENTS
 
+    HADOOP-8656 Backport forced daemon shutdown of HADOOP-8353 into branch-1
+    (Roman Shaposhnik via stevel)
+
   BUG FIXES
 
 Release 1.1.0 - 2012.07.09

+ 9 - 2
bin/hadoop-daemon.sh

@@ -105,6 +105,7 @@ export HADOOP_LOGFILE=hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.log
 export HADOOP_ROOT_LOGGER="INFO,DRFA"
 log=$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-$command-$HOSTNAME.out
 pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-$command.pid
+HADOOP_STOP_TIMEOUT=${HADOOP_STOP_TIMEOUT:-5}
 
 # Set default scheduling priority
 if [ "$HADOOP_NICENESS" = "" ]; then
@@ -140,9 +141,15 @@ case $startStop in
   (stop)
 
     if [ -f $pid ]; then
-      if kill -0 `cat $pid` > /dev/null 2>&1; then
+      TARGET_PID=`cat $pid`
+      if kill -0 $TARGET_PID > /dev/null 2>&1; then
         echo stopping $command
-        kill `cat $pid`
+        kill $TARGET_PID
+        sleep $HADOOP_STOP_TIMEOUT
+        if kill -0 $TARGET_PID > /dev/null 2>&1; then
+          echo "$command did not stop gracefully after $HADOOP_STOP_TIMEOUT seconds: killing with kill -9"
+          kill -9 $TARGET_PID
+        fi
       else
         echo no $command to stop
       fi