springboot项目启动、关闭脚本

2023-04-28 17:01:16 浏览数 (2)

springboot项目启动、关闭脚本

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

项目启动脚本:start.sh

代码语言:javascript复制
#!/bin/sh
RESOURCE_NAME=team-system.jar

tpid=`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

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi

rm -f tpid
nohup java -jar ./$RESOURCE_NAME --server.port=9080 &
echo $! > tpid
echo Start Success!

项目关闭脚本:stop.sh

代码语言:javascript复制
#!/bin/sh
RESOURCE_NAME=team-system.jar

tpid=`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,可能就不会立马做出相应。

查看日志

代码语言:javascript复制
#查看日志最后300行的代码
tail -n 300 nohup.out 
#查看300行之后的日志 
tail -n  300 nohup.out
#动态实时查询最后300的日志
tail -fn 300 nohup.out
#动态实时查看日志
tail -f nohup.out

0 人点赞