Springboot启动停止命令的.sh脚本编写方式

 更新时间:2023年05月05日 10:16:03   作者:兮家小二  
这篇文章主要介绍了Springboot启动停止命令的.sh脚本编写方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、使用脚本

  • 启动:./start.sh start
  • 停止:./start.sh stop
  • 重启:./start.sh restart
  • 输出运行状态:./start.sh status

二、编写脚本

1、创建文件

start.sh 文件放至 jar 同目录

2、添加内容

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=txlcn-tm-5.0.2.RELEASE.jar
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java  -Xms512m -Xmx1024m -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+PrintGCDetails -XX:+UseSerialGC -jar /usr/local/work/lcn/$APP_NAME > log.txt &
echo "${APP_NAME} start success"
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

3、修改内容

点击查看jvm参数描叙

4、启动 jar 服务

./start.sh  start

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java如何动态执行while循环

    java如何动态执行while循环

    这篇文章主要介绍了java如何动态执行while循环问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 深度解析Java中CountDownLatch的原理

    深度解析Java中CountDownLatch的原理

    在高并发编程中,AbstractQueuedSynchronizer(简称AQS)抽象的队列同步器是我们必须掌握的,本文将通过CountDownLatch底层实现原理来了解AQS共享锁模式的实现原理,快跟随小编一起学习学习吧
    2023-07-07
  • MyBatis3传递多个参数(Multiple Parameters)

    MyBatis3传递多个参数(Multiple Parameters)

    这篇文章主要介绍了MyBatis3传递多个参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • java Spring AOP详解及简单实例

    java Spring AOP详解及简单实例

    这篇文章主要介绍了java Spring AOP详解及简单实例的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java中为何要使用ArrayList

    Java中为何要使用ArrayList

    这篇文章主要介绍了Java中为何要使用ArrayList,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09
  • Java算法之BFS,DFS,动态规划和贪心算法的实现

    Java算法之BFS,DFS,动态规划和贪心算法的实现

    广度优先搜索(BFS)和深度优先搜索(DFS)是图遍历算法中最常见的两种算法,主要用于解决搜索和遍历问题。动态规划和贪心算法则用来解决优化问题。本文就来看看这些算法的具体实现吧
    2023-04-04
  • Java中Connection timed out和Connection refused的区别讲解

    Java中Connection timed out和Connection refused的区别讲解

    今天小编就为大家分享一篇关于Java中Connection timed out和Connection refused的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • 关于Java中HashCode方法的深入理解

    关于Java中HashCode方法的深入理解

    这篇文章主要给大家介绍了关于Java中HashCode方法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Java中String的JdbcTemplate连接SQLServer数据库的方法

    Java中String的JdbcTemplate连接SQLServer数据库的方法

    这篇文章主要介绍了Java中String的JdbcTemplate连接SQLServer数据库的方法,在研发过程中我们需要与其他系统对接的场景,连接SQLServer拉取数据,所以就用jdbc连接数据库的方式连接外部数据源,需要的朋友可以参考下
    2021-10-10
  • java 中动态代理机制的实例讲解

    java 中动态代理机制的实例讲解

    这篇文章主要介绍了java 中动态代理机制的实例讲解的相关资料,希望通过本文大家能够理解掌握动态代理机制,需要的朋友可以参考下
    2017-09-09

最新评论