编写一个shell脚本,轮询监控应用的进程,如果出现崩溃进程不在的情况下,自动启动应用程序
①、touch restart.sh(新建一个重启脚本)
②、赋予权限
chmod 777 restart.sh (赋予权限,默认-rw-rw-r--没有可执行权限,不赋予权限脚本运行不了)
执行玩chmod之后,权限已经改变-rwxrwxrwx
③、vi restart.sh(编辑文件)
写一个脚本 监控程序的运行状态 没有运行启动运行 已运行不做操作。
如果在控制台启动脚本 注意必须 nohup sh xxx.sh &
while true
do
ps -ef | grep "填入你自己的程序名" | grep -v "grep"
if [ "$?" -eq 1 ]
then
./run.sh #启动应用,修改成自己的启动应用脚本或命令
echo "process has been restarted!"
else
echo "process already started!"
fi
sleep 10
done
④./restart.sh (启动脚本)
启动完成之后,则可以看到每隔10秒打印一次“process already started!”,这个表示应用程序在运行不需要重启
⑤为了演示程序崩溃的情况,手动杀掉应用程序的进程
⑥杀完进程之后,再看刚刚启动的监控脚本打印日志情况,从图中可以看到,“process has been restarted!”,表示已经重启应用成功了。不确定的还可以自己去看下应用程序是否在运行