Linux下的程式重啟指令碼

2021-10-04 23:16:38 字數 1130 閱讀 2197

寫了個簡單的程式重啟的指令碼,迴圈判斷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 檢查程序例項是否...