1、编写一个shell脚本,轮询监控应用的进程,如果出现崩溃进程不在的情况下,自动启动应用程序touch restart.sh(新建一个重启脚本)
2、chmod 777 restart.sh (赋予权限,默认-rw-rw-r--没有可执行权限,不赋予权限脚本运行不了)执行玩chmod之后,权限已经改变-rwxrwxrwx
3、vi restart.sh(编辑文件)循环每隔10秒查看下应用程序进程是否存在,不存在则启动应用,存在则睡眠10秒继续检测#!/bin/shwhile truedo ps -ef | grep "填入你自己的程序名" | grep -v "grep" if [ "$?" -eq 1 ] then ./run.sh #启动应用,修改成自己的启动应用脚本或命令 echo "process has been restarted!" else echo "process already started!" fi sleep 10done
4、./restart.sh (启动脚本),启动完成之后,则可以看到每隔10秒打印一次“process already started!”,这个表示应用程序在运行不需要重启
5、为了演示程序崩溃的情况,手动杀掉应用程序的进程
6、杀完进程之后,再看刚刚启动的监控脚本打印日志情况,从图中可以看到,“process has been restarted!”,表示已经重启应用成功了。不确定的还可以自己去看下应用程序是否在运行