在项目存放jar包的目录编写脚本listen.sh
#!/bin/sh
while true
do
ps -ef | grep jar包名称.jar | grep -v "grep"
if [ "$?" -eq 1 ]
then
# sysLog.txt 日志路径 接收打印内容
echo "$(date "+%Y-%m-%d_%H:%M:%S") 服务停止,重启中!" >> sysLog.txt
# 需要执行的启动脚本 或 命令 写在这里 类似./start.sh,这里的命令是你部署当前项目在后台启动的命令
nohup java -jar jar包名称.jar --spring.profiles.active=prod>/dev/null &
fi
# 每分钟检查一次
sleep 60
done
给脚本文件授权(分别执行下列两行命令)
chmod 777 listen.sh
sed -i 's/\r//g' listen.sh
启动脚本监听
nohup ./listen.sh > sysLog.txt &