SpringBoot应用线上重启脚本的命令详解

2022-11-13 11:11:11 重启 线上 详解
  1. 查找应用进程PID
  2. 杀死应用进程PID
  3. 运行启动脚本

烦不烦啊,像我这么懒得人 得想个办法一步搞定!

如下所示 新建一个shell脚本,然后将其运行之!

#!/bin/sh
#根据进程名杀死进程
if [ $# -lt 1 ]
then
  echo "需要传入jar包的名称!"
  exit 1
fi
# 根据输入的应用名,找出指定的应用的进程Id
PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|grep -v /bin/sh|awk '{print $2}'`
#echo "$PROCESS"
# 然后打印杀死的进程的Id
if [ -z "$PROCESS" ]
 then echo "当前程序没有在运行,即将首次启动!"
else
# 然后打印杀死的进程的Id
 echo "当前正在运行应用的进程PID: $1 process [ ${PROCESS[0]} ]"
 kill -9 $PROCESS
 echo "进程已杀死,3秒后重启!"
 sleep 3s
fi
# 启动应用
echo "========启动中========"
nohup java -jar $1 >/dev/null 2>&1 &
sleep 3s
# 根据输入的应用名,找出指定的应用的进程Id
PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|grep -v /bin/sh|awk '{print $2}'`
echo "启动成功,新的进程PID:$PROCESS"
exit 1

脚本格式:文件名 应用名,例如:restart_application.sh rourou.jar

这个脚本有三个作用:

  • 首次启动运行即可,第一次叫启动,使用方式:restart_application.sh rourou.jar,其中restart_application.sh是自己新建的脚本文件名称,rourou.jar是自己的应用
  • 重启应用直接运行即可,使用方式:restart_application.sh rourou.jar,其中restart_application.sh是自己新建的脚本文件名称,rourou.jar是自己的应用
  • 如果没有传入应用的名称,会显示需要传入jar包的名称!

到此这篇关于SpringBoot应用线上重启脚本的文章就介绍到这了,更多相关springBoot重启脚本内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章