1,新建shell脚本为服务保活
#!/bin/sh
while(true) do
proc_num=$(ps -ef | grep XXXXXXXXX-0.0.1-SNAPSHOT.jar | grep -v "grep ")
if [ $proc_num -eq 0 ]
then
echo "start third-party-video-server...."
nohup /opt/jre/bin/java -jar /opt/XXXXX/XXXXXXX-0.0.1-SNAPSHOT.jar --comName=COM2
fi
sleep 3
done
脚本死循环查看自己jar包运行情况。
通过 ps -ef | grep XXXXXXXXX-0.0.1-SNAPSHOT.jar | grep -v "grep " 查看 XXXXXXXXX-0.0.1-SNAPSHOT.jar的运行数量。
如果等于0说明没有执行的。则启动。
否则3秒后再检测。
2,让脚本开机启动。
如果脚本不是死循环检测的,可以是用 corntable 来用定时任务执行,不过缺点是最小1分钟执行一次,时间过久。
这里可以将自己的shell脚本加入 rc.local 中
注意:
一定要将命令添加在 exit 0之前;
命令即为脚本文件所在的绝对路径,如在第13行添加 /usr/local/bin/test.sh;
如果脚本中有死循环,需要在该脚本路径后加上 & ,让其后台执行;