> 文章列表 > springboot项目启动、关闭脚本

springboot项目启动、关闭脚本

springboot项目启动、关闭脚本

目录

  • springboot项目启动、关闭脚本
    • 项目启动脚本:start.sh
    • 项目关闭脚本:stop.sh

springboot项目启动、关闭脚本

在jar包目录下新建下面脚本文件

项目启动脚本:start.sh

#!/bin/sh
RESOURCE_NAME=team-system.jartpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fitpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; thenecho 'App is running.'
elseecho 'App is NOT running.'
firm -f tpid
nohup java -jar ./$RESOURCE_NAME --server.port=9080 &
echo $! > tpid
echo Start Success!

项目关闭脚本:stop.sh

#!/bin/sh
RESOURCE_NAME=team-system.jartpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi

kill -15和 kill -9 是常用的命令,都可以用来杀死进程。

区别:
kill命令默认的信号就是15,也就是 kill -15 ,被称为优雅的退出。

当使用kill -15时,系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该信号后,将会发生以下的事情

  • 程序立刻停止
  • 当程序释放相应资源后再停止
  • 程序可能仍然继续运行
  • 大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出相应。