歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux怎麼自動重啟程序

  Linux系統能運行主要的UNIX工具軟件、應用程序和網絡協議,那麼大家知道linux怎麼自動重啟程序嗎?接下來大家跟著學習啦小編一起來了解一下linux自動重啟程序的解決方法吧。

  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 &

看過“linux怎麼自動重啟程序”的人還看了:

Copyright © Linux教程網 All Rights Reserved