kill shell process

#! /bin/sh
#

export DIR=$PWD
LOG_NAME=ExternalMS_shutdownms.txt
LOG_DIR=$DIR
date > $LOG_DIR/$LOG_NAME
echo "********************************************* " >>$LOG_DIR/$LOG_NAME
echo "Hi This is External MS Server shutdownms.sh log " >>$LOG_DIR/$LOG_NAME
echo "****************************** " >>$LOG_DIR/$LOG_NAME
echo "current dir is $DIR " >>$LOG_DIR/$LOG_NAME

kill_app(){
        MODULENAME=$1
    echo "kill module:$MODULENAME"
        echo "kill module:$MODULENAME" >>$LOG_DIR/$LOG_NAME
        #killall $MODULENAME
        MODULEPID=$(ps aux|grep $MODULENAME|grep -v grep|awk '{print $2}')

        if [ ! -z "$MODULEPID" ]; then
                #killall $MODULENAME
                        #added TIMER_COUNT 
                        TIMER_COUNT=30
                        kill -9 $MODULEPID
               # until [ -z "$MODULEPID" ]
                    until [ -z "$MODULEPID" ] || [ $TIMER_COUNT -lt 1 ] 
                do
                        echo wait for $MODULENAME exit...
                                        echo "wait for $MODULENAME exit... " >>$LOG_DIR/$LOG_NAME
                                        echo "$(ps aux|grep $MODULENAME|grep -v grep) " >>$LOG_DIR/$LOG_NAME
                        sleep 1s
                        MODULEPID=$(ps aux|grep $MODULENAME|grep -v grep|awk '{print $2}')
                                        TIMER_COUNT=$(($TIMER_COUNT - 1))
                done

                        if [ $TIMER_COUNT = "0" ]; then
               echo "no longer wait $MODULENAME exit " >>$LOG_DIR/$LOG_NAME
            fi
        fi
}

echo "stop mysqld"
kill_app mysqld 

#ò??¨òaó?/home/ENV/java/jre/bin/java£?2??üó?java£?è??μí3?D′??ú?à??java??3ì?á3??êìa 2012/8/2
echo "stop java"
kill_app /home/ENV/java/jre/bin/java

echo "stop Naming_Service"
kill_app Naming_Service

猜你喜欢

转载自syyzxq.iteye.com/blog/2209314
今日推荐