無論什麼程序都不可能完美無缺,理論上,任何程序都有 Core Dump 的一天,正式運營的程序,尤其是服務器程序,一旦 Core Dump ,後果不堪設想,有過服務器開發經驗的朋友,一定都經歷過深夜美夢中,被電話驚醒的慘痛經歷,手忙腳亂把服務器重新啓動,第二天上班還要被老闆一頓狠批。所以,程序發生錯誤時自動重啓變得很重要。這裏集中討論 linux 實現自動重啓程序的方法。
linux 下實現程序的自動重啓有很多方法,這裏我們介紹的是通過自己寫腳本來實現,
自動重啓腳本
假定需要實現重啓的程序名爲 test ,我們這裏通過判斷進程數目來判斷程序是否正常。
ps -ef | grep "$1" | grep -v "grep" | wc –l 是獲取 $1 (本例中爲 test )的進程數,腳本根據進程數來決定下一步的操作。通過一個死循環,每隔 1 秒檢查一次系統中的指定程序的進程數。
代碼如下:
腳本check
#!/bin/sh
#------------------------------------------------------------------------------
# 檢查test實例是否已經存在
|