寫了個簡單的程式重啟的指令碼,迴圈判斷mec_x86和l3fwd兩個程序是否存在,如果有乙個不存在了就進行重啟:
#!/bin/bash
while :
dops
-ef | grep "mec_x86"
| grep -v "grep"
| wc -l)
processdpdk=$(
ps-ef | grep "l3fwd"
| grep -v "grep"
| wc -l)if[
-eq 0 ]
;then
./stop.sh &
sleep 10
./start
.sh &
elif [
$processdpdk
-eq 0 ]
;then
./stop.sh &
sleep 10
./start
.sh &
fi sleep 5m
done
記錄一下用的命令:
1.#!/bin/bash
shell指令碼都要有的,注意不能少了bin前面的/,否則會有這樣的報錯:
2.while :do…
done
重複進行迴圈,注意while和:之間有空格;
3.ps -ef | grep 「mec_x86」 | grep -v 「grep」 | wc -l
查詢mec_x86程序的個數,其中grep -v "grep"的作用是去除grep程序,如下圖所示,新增grep -v "grep"後可去除grep查詢時產生的程序.wc -l是輸出檔案的行數.
額外知識點:
awk ''
此命令是用於一行一行的讀取指定的檔案, 以空格作為分隔符,列印第二個欄位.如果將這個指令改為:
ps
-ef | grep "mec_x86"
| grep -v "grep"
| awk ''
linux下通過指令碼實現自動重啟程式
出處不詳,網上摘錄。無論什麼程式都不可能完美無缺,理論上,任何程式都有core dump的一天,正式運營的程式,尤其是伺服器程式,一旦core dump,後果不堪設想,有過伺服器開發經驗的朋友,一定都經歷過深夜美夢中,被 驚醒的慘痛經歷,手忙腳亂把伺服器重新啟動,第二天上班還要被老闆一頓狠批。所以,...
linux下通過指令碼實現自動重啟程式
無論什麼程式都不可能完美無缺,理論上,任何程式都有co程式設計客棧re dump的一天,正式運營的程式,尤其是伺服器程式,一旦core dump,後果不堪設想,有過伺服器開發經驗的朋友,一定都經歷過深夜美夢中,被 驚醒的慘痛經歷,手忙腳亂把伺服器重新啟動,第二天上班還要被老闆一頓狠批。所以,程式發生...
shell指令碼實現程式重啟
最近做的ipc端hls推流不穩定偶爾要死機,而雲伺服器又希望能隨時連上ipc。在ipc端有沒有supervisor這種工具,就需要自己想下怎麼然異常退出的程式重啟起來。經過查閱網路資料,通過shell即可實現。bin sh help 引數範圍檢查 if 1 then help fi 檢查程序例項是否...