Spring Boot 启动、停止、重启、状态脚本


Posted in Java/Android onJune 26, 2021

此脚本用来管理 SpringBoot 项目的进程状态。

有提示功能。

把脚本丢到项目文件夹, 添加执行权限即可。

如果 jenkins 使用这个脚本, 需要在 java -jar 命令前添加 BUILD_ID=dontKillMe , 不然 jenkins 会杀掉进程。

参考:

https://stackoverflow.com/questions/39169457/how-to-tell-jenkins-not-to-kill-processes-after-successful-execution-of-job-in-m

脚本维护在 github, 有需求的话可以关注

https://github.com/junbaor/shell_script/blob/master/spring-boot.sh

Spring Boot 启动、停止、重启、状态脚本

spring-boot.sh

#!/bin/bash

SpringBoot=$2

if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi

if [ "$SpringBoot" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi

function start()
{
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    if [ $count != 0 ];then
        echo "$SpringBoot is running..."
    else
        echo "Start $SpringBoot success..."
        nohup java -jar $SpringBoot > /dev/null 2>&1 &
    fi
}

function stop()
{
    echo "Stop $SpringBoot"
    boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

    if [ $count != 0 ];then
        kill $boot_id
        count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

        boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
        kill -9 $boot_id
    fi
}

function restart()
{
    stop
    sleep 2
    start
}

function status()
{
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    if [ $count != 0 ];then
        echo "$SpringBoot is running..."
    else
        echo "$SpringBoot is not running..."
    fi
}

case $1 in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    status;;
    *)

    echo -e "\033[0;31m Usage: \033[0m  \033[0;34m sh  $0  {start|stop|restart|status}  {SpringBootJarName} \033[0m
\033[0;31m Example: \033[0m
      \033[0;33m sh  $0  start esmart-test.jar \033[0m"
esac

Spring Boot 示例教程和源码已上传:

https://github.com/javastacks/spring-boot-best-practice

以上就是Spring Boot 启动、停止、重启、状态脚本的详细内容,更多关于Spring Boot 启动脚本的资料请关注三水点靠木其它相关文章!

Java/Android 相关文章推荐
Java用自带的Image IO给图片添加水印
Jun 15 Java/Android
Java常用工具类汇总 附示例代码
Jun 26 Java/Android
Java中PriorityQueue实现最小堆和最大堆的用法
Jun 27 Java/Android
关于springboot 配置date字段返回时间戳的问题
Jul 25 Java/Android
使用logback实现按自己的需求打印日志到自定义的文件里
Aug 30 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 Java/Android
JAVA API 实用类 String详解
Oct 05 Java/Android
springboot 多数据源配置不生效遇到的坑及解决
Nov 17 Java/Android
Spring依赖注入多种类型数据的示例代码
Mar 31 Java/Android
java实现面板之间切换功能
Jun 10 Java/Android
springboot集成redis存对象乱码的问题及解决
Jun 16 Java/Android
Java实现贪吃蛇游戏的示例代码
Sep 23 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 #Java/Android
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
图解排序算法之希尔排序Java实现
Netty结合Protobuf进行编解码的方法
Java常用工具类汇总 附示例代码
Java多条件判断场景中规则执行器的设计
Java基于字符界面的简易收银台
You might like
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
thinkphp分页集成实例
2017/07/24 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
一些不错的js函数ajax
2008/08/20 Javascript
javascript 动态添加事件代码
2008/11/30 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
遗传算法之Python实现代码
2017/10/10 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
Python接口测试get请求过程详解
2020/02/28 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
精伦电子Java笔试题
2013/01/16 面试题
请病假条范文
2015/08/17 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
入党申请书怎么写?
2019/06/11 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
golang import自定义包方式
2021/04/29 Golang
MySQL优化及索引解析
2022/03/17 MySQL