<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    列宿乃施于上榮兮 日月才經(jīng)于柍桭

    ………… 白駒過(guò)隙 歲月如斯 夢(mèng)縈回繞 心靈之聲
    posts - 57, comments - 8, trackbacks - 0, articles - 41
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Linux下Shell腳本完善

    Posted on 2010-10-11 20:17 默認(rèn)為零 閱讀(560) 評(píng)論(0)  編輯  收藏 所屬分類: 技術(shù)

    服務(wù)器上重啟應(yīng)用時(shí)經(jīng)常在shutdown jboss階段卡死等待,但是單獨(dú)手工執(zhí)行jboss shutdown.sh都是正常的。感覺(jué)還是調(diào)用shutdown.sh的腳本出了問(wèn)題,遂仔細(xì)分析下shell編寫(xiě)的相關(guān)起停腳本,還是發(fā)現(xiàn)一點(diǎn)小問(wèn)題的。其中封裝的stop腳本如下:

    stop()
    {
        jboss_jndi_port=1099
        STR=`ps -C java -f --width 2000 | grep " $CUSTOM_PATH"`
            echo "$CUSTOM_PATH"
            echo "$STDOUT_LOG"
            echo "$STR"
        if [ ! -z "$STR" ]; then
            while !(`grep "Halting VM" $STDOUT_LOG >/dev/null`)
            do
                    sh $JBOSS_HOME/bin/shutdown.sh --server=localhost:1099 -S > /dev/null 2>&1
                    echo -e "* \c"
                    sleep 5
            done
            echo "JBoss已經(jīng)關(guān)閉"
        else    
            echo "沒(méi)有Java進(jìn)程"
        fi
       
        $BASE_HOME/bin/apachectl stop
       
        JBOSS_CLASSPATH=""
        export JBOSS_CLASSPATH
    }
    意思是這樣的:
    1、首先通過(guò)$CUSTOM_PATH這個(gè)變量代表的字符串過(guò)濾出jboss進(jìn)程,賦值為$STR。
    2、$STR不為空,則循環(huán)判斷jboss啟停日志中是否出現(xiàn)“Halting VM”,未出現(xiàn)則執(zhí)行jboss shutdown.sh,然后等待5秒后再次判斷,如果還未出現(xiàn)則再次啟動(dòng)shutdown.sh。直到日志“Halting VM”出現(xiàn)后邏輯繼續(xù)往下走,echo "JBoss已經(jīng)關(guān)閉"等等。

    這樣看來(lái),邏輯應(yīng)該有點(diǎn)問(wèn)題。假如5秒內(nèi)jboss沒(méi)有shutdown完畢,java進(jìn)程還在的情況下,重復(fù)執(zhí)行jboss shutdown.sh是有問(wèn)題的,這或許就是停止jboss服務(wù)過(guò)程中卡死等待的真正原因,于是著手修改腳本:
    stop()
    {
        jboss_jndi_port=1099
        STR=`ps -C java -f --width 2000 | grep " $CUSTOM_PATH"`
            echo "$CUSTOM_PATH"
            echo "$STDOUT_LOG"
            echo "$STR"
        if [ ! -z "$STR" ]; then
            sh $JBOSS_HOME/bin/shutdown.sh --server=localhost:1099 -S > /dev/null 2>&1
            while !(`grep "Halting VM" $STDOUT_LOG >/dev/null`)
            do
                    echo -e "* \c"
                    sleep 5
            done
            echo "JBoss已經(jīng)關(guān)閉"
        else    
            echo "沒(méi)有Java進(jìn)程"
        fi
       
        $BASE_HOME/bin/apachectl stop
       
        JBOSS_CLASSPATH=""
        export JBOSS_CLASSPATH
    }
    判斷jboss進(jìn)程存在,則調(diào)用jboss shutdown正常卸載其服務(wù),每隔5秒判斷一次卸載是否完成。沒(méi)完成繼續(xù)等待,反之邏輯繼續(xù)。

    完了測(cè)試,經(jīng)過(guò)多次啟停腳本測(cè)試后,沒(méi)有再現(xiàn)以前的問(wèn)題,解決問(wèn)題!

    主站蜘蛛池模板: 国产一级淫片a免费播放口| 久久99国产乱子伦精品免费| 永久亚洲成a人片777777| 国产午夜无码精品免费看动漫| 色播亚洲视频在线观看| 毛片免费视频观看| 国产福利免费视频 | 羞羞视频免费网站在线看| 久久亚洲中文字幕精品有坂深雪 | 亚洲国产精品自产在线播放| 国内精品免费在线观看| 亚洲AV日韩综合一区尤物| 国产亚洲精品线观看动态图| 91香蕉视频免费| 国产精品成人免费观看| 亚洲男人电影天堂| 亚洲国产精品国产自在在线| a毛片基地免费全部视频| 国产精品午夜免费观看网站| 亚洲av无码片区一区二区三区| 亚洲人成无码www久久久| 黄页免费的网站勿入免费直接进入| 国产免费高清69式视频在线观看 | 免费黄网站在线观看| 久久亚洲精品11p| 亚洲欧洲综合在线| 国产av无码专区亚洲国产精品| 九九精品免费视频| 很黄很污的网站免费| 黄页网站在线视频免费| 亚洲娇小性xxxx色| 亚洲国产美国国产综合一区二区 | 成人网站免费看黄A站视频| 亚洲精品色在线网站| 亚洲一区二区三区91| 亚洲电影国产一区| 亚洲自偷自偷偷色无码中文| 亚洲AⅤ永久无码精品AA| 大陆一级毛片免费视频观看 | 亚洲精品少妇30p| 免费日本黄色网址|