国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux下通過腳本實現自動重啟程序

2024-07-26 00:30:05
字體:
來源:轉載
供稿:網友

    無論什么程序都不可能完美無缺,理論上,任何程序都有Core Dump的一天,正式運營的程序,尤其是服務器程序,一旦Core Dump,后果不堪設想,有過服務器開發經驗的朋友,一定都經歷過深夜美夢中,被電話驚醒的慘痛經歷,手忙腳亂把服務器重新啟動,第二天上班還要被老板一頓狠批。所以,程序發生錯誤時自動重啟變得很重要。這里集中討論linux實現自動重啟程序的方法。

    linux下實現程序的自動重啟有很多方法,這里我們介紹的是通過自己寫腳本來實現,

    自動重啟腳本

假定需要實現重啟的程序名為 test ,我們這里通過判斷進程數目來判斷程序是否正常。

ps -ef | grep "$1" | grep -v "grep" | wc –l 是獲取$1(本例中為test)的進程數,腳本根據進程數來決定下一步的操作。通過一個死循環,每隔1秒檢查一次系統中的指定程序的進程數。

代碼如下:
    腳本check

 

#!/bin/sh
#-----------------------------------# 函數: CheckPRocess# 功能: 檢查一個進程是否存在# 參數: $1 --- 要檢查的進程名稱# 返回: 如果存在返回0, 否則返回1.#---------------------------------------CheckProcess(){  # 檢查輸入的參數是否有效  if [ "$1" = "" ];  then    return 1  fi    #$PROCESS_NUM獲取指定進程名的數目,為1返回0,表示正常,不為1返回1,表示有錯誤,需要重新啟動  PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l`   if [ $PROCESS_NUM -eq 1 ];  then    return 0  else    return 1  fi}
# 檢查test實例是否已經存在while [ 1 ] ; do CheckProcess "test" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 殺死所有test進程,可換任意你需要執行的操作  killall -9 test  exec ./test &   fi sleep 1done
 

 

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


#!/bin/cshlimit coredumpsize 102400
./check &


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 巩义市| 普兰县| 潮州市| 富锦市| 报价| 上高县| 罗城| 济源市| 晋州市| 余庆县| 罗甸县| 区。| 法库县| 丹阳市| 北安市| 香格里拉县| 静乐县| 开化县| 礼泉县| 晋江市| 麦盖提县| 郴州市| 尚义县| 三明市| 斗六市| 阜阳市| 绩溪县| 东至县| 宁都县| 河津市| 南阳市| 南靖县| 康马县| 上饶县| 北海市| 中宁县| 延长县| 浑源县| 霍州市| 砚山县|