|
@@ -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
|