自動重新開機故障相信大家都遇到過,原因也有很多,跟系統,硬體或者外界因素都有關,但是在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 &
補充:電腦總是自動重新開機怎麼辦
1、右擊“我的電腦”,選擇“屬性”項。
2、在打開的系統屬性視窗中選擇“進階系統設定”項進入。
3、在打開的“系統屬性”視窗中,切換至“進階”選擇卡,然後點選“系統和故障恢複 設定”按鈕。
4、在打開的視窗中取消勾選“自動重新開機啟動”項并按确認即可。
5、當電腦在使用的過程中産生藍屏時,我們就可以進入“系統日志”管理器中檢視産生系統失敗的根源啦。打開“運作”對話框,輸入指令“eventvwr.msc”即可檢視日志資訊,從中定位系統産生失敗的原因。
6、當然,我們也可以通過禁用某些開機項來嘗試修複系統。打開“運作”對話框,輸入指令“msconfig”進入“系統配置實用程式”界面,勾選“正常”頁籤下的“診斷啟動”選項。
7、還有一種修複計算機藍屏或重新開機故障的方法,就是在電腦啟動時按“F8”進入系統故障菜單,從中選擇“安全模式”進入或“最後一次正确的配置”項進入系統,将及有可能修複系統。
8、當然,如果以上方法均不能解決問題,那麼建議您還是重新安裝一下系統,畢竟安裝系統所耗費的時間相對修複所用時間要少許多。一勞永逸之事才是王道。
相關閱讀:電腦自動重新開機方法
方法一:
1、打開控制台-管理工具-計劃任務程式
2、建立基本任務,名稱欄目,輸入“定時重新開機”,下一步;
3、在視窗裡,有每天、每周、每月、一次各種選擇,這裡小誠選擇一次,這次執行完就失效,您可以根據自己的情況進行選擇哈,點選下一步;
4、設定重新開機的日期、時間點,下一步;
5、選擇啟動程式,下一步;
6、在打開頁面裡,點選浏覽,找到C;\Windows\System32\Shutdown.exe,點選打開;
7、在添加參數欄目裡輸入“-r”(重新開機),進行下一步
8、點選完成,即可實作自動重新開機了
方法二:
網上搜尋個自動重新開機關機類軟體,這比較多,簡單設定一下就可以了。
linux下通過腳本實作自動重新開機程式相關文章: