linux下通過腳本實現(xiàn)自動重啟程序
無論什么程序都不可能完美無缺,理論上,任何程序都有Core Dump的一天,正式運營的程序,尤其是服務(wù)器程序,一旦Core Dump,后果不堪設(shè)想,有過服務(wù)器開發(fā)經(jīng)驗的朋友,一定都經(jīng)歷過深夜美夢中,被電話驚醒的慘痛經(jīng)歷,手忙腳亂把服務(wù)器重新啟動,第二天上班還要被老板一頓狠批。所以,程序發(fā)生錯誤時自動重啟變得很重要。這里集中討論linux實現(xiàn)自動重啟程序的方法。
linux下實現(xiàn)程序的自動重啟有很多方法,這里我們介紹的是通過自己寫腳本來實現(xiàn),
自動重啟腳本
假定需要實現(xiàn)重啟的程序名為 test ,我們這里通過判斷進程數(shù)目來判斷程序是否正常。
ps -ef | grep "$1" | grep -v "grep" | wc –l 是獲取$1(本例中為test)的進程數(shù),腳本根據(jù)進程數(shù)來決定下一步的操作。通過一個死循環(huán),每隔1秒檢查一次系統(tǒng)中的指定程序的進程數(shù)。
代碼如下:
腳本check
#!/bin/sh
#-----------------------------------# 函數(shù): CheckProcess# 功能: 檢查一個進程是否存在# 參數(shù): $1 --- 要檢查的進程名稱# 返回: 如果存在返回0, 否則返回1.#---------------------------------------CheckProcess(){ # 檢查輸入的參數(shù)是否有效 if [ "$1" = "" ]; then return 1 fi #$PROCESS_NUM獲取指定進程名的數(shù)目,為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實例是否已經(jīng)存在while [ 1 ] ; do CheckProcess "test" CheckQQ_RET=$? if [ $CheckQQ_RET -eq 1 ]; then# 殺死所有test進程,可換任意你需要執(zhí)行的操作 killall -9 test exec ./test & fi sleep 1done
腳本start:
加入limit coredumpsize 102400,設(shè)置core file的大小,一旦程序Core Dump,有跡可尋。在該腳本中后臺執(zhí)行check腳本,可以省去很多麻煩,
#!/bin/cshlimit coredumpsize 102400
./check &
- Shell腳本實現(xiàn)Linux系統(tǒng)和進程資源監(jiān)控
- python實現(xiàn)監(jiān)控linux性能及進程消耗性能的方法
- linux進程監(jiān)控shell腳本代碼
- linux系統(tǒng)使用python監(jiān)控apache服務(wù)器進程腳本分享
- Linux 監(jiān)控文件被什么進程修改(詳解)
- 詳解Linux監(jiān)控重要進程的實現(xiàn)方法
- shell監(jiān)控linux系統(tǒng)進程創(chuàng)建腳本分享
- Linux工具之Nethogs按進程監(jiān)控網(wǎng)絡(luò)帶寬的安裝部署
- linux下監(jiān)視進程 崩潰掛掉后自動重啟的shell腳本
- linux自動重啟tomcat腳本分享
- linux進程監(jiān)控與自動重啟的簡單實現(xiàn)方法
相關(guān)文章
Ubuntu14.04和Ubuntu16.04更換阿里源的方法
換成國內(nèi)最快的阿里云源一般需要三步,下面通過本文給大家分享Ubuntu14.04和Ubuntu16.04更換阿里源的方法,需要的朋友參考下吧2017-04-04在CentOS中安裝Rancher2并配置kubernetes集群的圖文教程
這篇文章主要介紹了在CentOS中安裝Rancher2并配置kubernetes集群的圖文教程,通過本文可以掌握Docker常用操作,了解K8s基本原理,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧2019-05-05Linux忘記root密碼及設(shè)置root密碼的圖文操作方法
這篇文章主要介紹了Linux忘記root密碼的圖文操作方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Linux網(wǎng)絡(luò)服務(wù)器配置入門(一)
Linux網(wǎng)絡(luò)服務(wù)器配置入門(一)...2006-10-10