springboot 项目非docker 部署,需要杀死进程重新启动,并打印对应的日志,以下是一个好用的shell脚本。
#!/bin/bash
#jar包文件路径及名称(目录按照各自配置)
APP_NAME=/home/zbhc-ant/server/XXXX.jar
LOG_FILE=/home/zbhc-ant/server/logs/XXXX.log
#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
kill -9 $pid
echo "$pid进程终止成功"
sleep 2
#判断jar包文件是否存在,如果存在启动jar包
if test -e $APP_NAME
then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $APP_NAME > $LOG_FILE 2>&1 &
#输出启动成功
echo '$APP_NAME 启动成功...'
else
echo '$APP_NAME 文件不存在,请检查。'
fi