天天看點

Linux小技巧3--防止程式挂掉的shell腳本

Linux小技巧3--防止程式挂掉的shell腳本

在一個實際項目中,很多時候需要保證程式或軟體總是運作的,隻有這樣才能将相關損失降至最低;可是實際中由于軟體自身品質和外部因素,很難保證程式持續運作的,此時就需要寫一個程式或者腳本,用來監控目标程式,隻要發現目标程式挂掉了該腳本就在此讓其運作起來,進而保證軟體的可靠性!

以下是本人寫的一個shell腳本程式,其基本思想是用ps指令将所有程序資訊寫到文檔中,然後用grep從文檔中查找目标程式,若找到則不管,沒找到則執行目标程式使其重新開機即可!

shell腳本如下:

#!/bin/sh

#檢測程式(/kjd/gateway)是否運作,未運作則啟動該程式

i=1
while [ i=1 ]
do
cd /kjd/doc
echo "I'm KJD!"
ps >/kjd/doc/process
var1= grep gateway /kjd/doc/process
#echo $var1
#declare -i a=$?
if [ $? -eq 0 ];
then 
echo "gateway is running!"
else 
echo "gateway is dead!"
/kjd/gateway
fi
rm /kjd/doc/process
sleep 5
done      

最後,若需要讓電腦開機就能啟動改程式,隻需将其添加到 /etc/rc.local (ubuntu)中即可,即将以下指令加到rc.local中:

/YourPath/code/KeepRunning.sh &