天天看点

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 &