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 相关文章推荐
SpringCloud Alibaba 基本开发框架搭建过程
Jun 13 Java/Android
详解SpringBoot异常处理流程及原理
Jun 21 Java/Android
Spring mvc是如何实现与数据库的前后端的连接操作的?
Jun 30 Java/Android
Java图书管理系统,课程设计必用(源码+文档)
Jun 30 Java/Android
Java基础-封装和继承
Jul 02 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
Java实现添加条码或二维码到Word文档
Jun 01 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
Android移动应用开发指南之六种布局详解
Sep 23 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 #Java/Android
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
图解排序算法之希尔排序Java实现
Netty结合Protobuf进行编解码的方法
Java常用工具类汇总 附示例代码
Java多条件判断场景中规则执行器的设计
Java基于字符界面的简易收银台
You might like
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
php读取mysql的简单实例
2014/01/15 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
vue实现购物车的小练习
2020/12/21 Vue.js
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
python脚本实现查找webshell的方法
2014/07/31 Python
python去除所有html标签的方法
2015/05/05 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python list元素为tuple时的排序方法
2018/04/18 Python
python实现从wind导入数据
2019/12/03 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
电子商务专业个人的自我评价
2013/12/19 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2016年会开场白台词
2015/06/01 职场文书
负责培养人意见
2015/06/05 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
美元符号 $
2022/02/17 杂记