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