为springboot创建守护线程,并开机启动

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;

如果脚本中有死循环,需要在该脚本路径后加上 & ,让其后台执行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章