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 相关文章推荐
SpringBoot读取Resource下文件的4种方法
Jul 02 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
SpringBoot实现quartz定时任务可视化管理功能
Aug 30 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 Java/Android
Java中try catch处理异常示例
Dec 06 Java/Android
利用Sharding-Jdbc进行分库分表的操作代码
Jan 22 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
MybatisPlus EntityWrapper如何自定义SQL
Mar 22 Java/Android
Netty分布式客户端处理接入事件handle源码解析
Mar 25 Java/Android
Java 定时任务技术趋势简介
May 04 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 #Java/Android
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
图解排序算法之希尔排序Java实现
Netty结合Protobuf进行编解码的方法
Java常用工具类汇总 附示例代码
Java多条件判断场景中规则执行器的设计
Java基于字符界面的简易收银台
You might like
php字符串分割函数explode的实例代码
2013/02/07 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
解决vue安装less报错Failed to compile with 1 errors的问题
2020/10/22 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
django fernet fields字段加密实践详解
2019/08/12 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
浅析python内置模块collections
2019/11/15 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
Python join()函数原理及使用方法
2020/11/14 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
生物技术专业毕业生求职信范文
2013/12/14 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
文艺部部长竞选稿
2015/11/21 职场文书