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

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

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

    一江春水向東流

    做一個(gè)有思想的人,期待與每一位熱愛(ài)思考的人交流,您的關(guān)注是對(duì)我最大的支持。

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評(píng)論 :: 0 Trackbacks
    無(wú)論什么程序都不可能完美無(wú)缺,理論上,任何程序都有 Core Dump 的一天,正式運(yùn)營(yíng)的程序,尤其是服務(wù)器程序,一旦 Core Dump ,后果不堪設(shè)想,有過(guò)服務(wù)器開(kāi)發(fā)經(jīng)驗(yàn)的朋友,一定都經(jīng)歷過(guò)深夜美夢(mèng)中,被電話驚醒的慘痛經(jīng)歷,手忙腳亂把服務(wù)器重新啟動(dòng),第二天上班還要被老板一頓狠批。所以,程序發(fā)生錯(cuò)誤時(shí)自動(dòng)重啟變得很重要。這里集中討論 linux 實(shí)現(xiàn)自動(dòng)重啟程序的方法。

    ????linux 下實(shí)現(xiàn)程序的自動(dòng)重啟有很多方法,這里我們介紹的是通過(guò)自己寫(xiě)腳本來(lái)實(shí)現(xiàn),

    ????自動(dòng)重啟腳本


    假定需要實(shí)現(xiàn)重啟的程序名為
    test ,我們這里通過(guò)判斷進(jìn)程數(shù)目來(lái)判斷程序是否正常。

    ps -ef | grep "$1" | grep -v "grep" | wc –l 是獲取 $1 (本例中為 test )的進(jìn)程數(shù),腳本根據(jù)進(jìn)程數(shù)來(lái)決定下一步的操作。通過(guò)一個(gè)死循環(huán),每隔 1 秒檢查一次系統(tǒng)中的指定程序的進(jìn)程數(shù)。

    代碼如下:
    ????腳本check

    																		#!/bin/sh
    																
    																		#------------------------------------------------------------------------------
    # 函數(shù): CheckProcess
    # 功能: 檢查一個(gè)進(jìn)程是否存在
    # 參數(shù): $1 --- 要檢查的進(jìn)程名稱
    # 返回: 如果存在返回0, 否則返回1.
    #------------------------------------------------------------------------------
    CheckProcess()
    {
    ? # 檢查輸入的參數(shù)是否有效
    ? if [ "$1" = "" ];
    ? then
    ??? return 1
    ? fi
    ?
    ? #$PROCESS_NUM獲取指定進(jìn)程名的數(shù)目,為1返回0,表示正常,不為1返回1,表示有錯(cuò)誤,需要重新啟動(dòng)
    ? PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`
    ? if [ $PROCESS_NUM -eq 1 ];
    ? then
    ??? return 0
    ? else
    ??? return 1
    ? fi
    }
    																		# 檢查test實(shí)例是否已經(jīng)存在
    while [ 1 ] ; do
    ?CheckProcess "test"
    ?CheckQQ_RET=$?
    ?if [ $CheckQQ_RET -eq 1 ];
    ?then

    # 殺死所有test進(jìn)程,可換任意你需要執(zhí)行的操作


    ??killall -9 test
    ??exec ./test &??
    ?fi
    ?sleep 1
    done



    ????腳本start:
    ????加入limit coredumpsize 102400,設(shè)置core file的大小,一旦程序Core Dump,有跡可尋。在該腳本中后臺(tái)執(zhí)行check腳本,可以省去很多麻煩,

    																		#!/bin/csh
    limit coredumpsize 102400
    																		./check &
    																


    ?

    posted on 2008-04-05 13:35 allic 閱讀(869) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): LINUX配置,shell
    主站蜘蛛池模板: 国产av无码专区亚洲国产精品| 国精无码欧精品亚洲一区| 无码日韩人妻AV一区免费l | 无码人妻精品中文字幕免费| 日韩精品亚洲人成在线观看| 啦啦啦中文在线观看电视剧免费版 | 亚洲视频网站在线观看| 最近2019中文字幕mv免费看| 窝窝影视午夜看片免费| 亚洲视频在线不卡| 四虎影视在线永久免费看黄 | 毛片免费在线播放| caoporn成人免费公开| 亚洲小视频在线播放| 亚洲男人的天堂一区二区| 最近2019中文字幕免费直播| 国产亚洲高清在线精品不卡| 亚洲αv久久久噜噜噜噜噜| 毛片a级毛片免费播放100| 国产精品99久久免费观看| 亚洲精品女同中文字幕| 亚洲成熟xxxxx电影| 亚洲A丁香五香天堂网| 91精品啪在线观看国产线免费| 一级毛片免费在线观看网站| 亚洲人成7777影视在线观看| 亚洲乳大丰满中文字幕| 女人18毛片特级一级免费视频| 巨胸喷奶水视频www免费视频| 亚洲日本VA午夜在线影院| 亚洲AV区无码字幕中文色| 亚洲人成人无码网www国产| 男人的好免费观看在线视频| 精品视频在线免费观看| 男人和女人高潮免费网站 | 亚洲午夜理论片在线观看| 亚洲AV人人澡人人爽人人夜夜| 亚洲福利中文字幕在线网址| 免费电影在线观看网站| 69精品免费视频| 久久久久免费精品国产|