springboot jar包的启动脚本

springboot jar包的启动脚本

第一步:

         先把一个springboot项目打包,打成jar形式
         这边我使用的Idea

在这里插入图片描述

第二步:启动脚本书写

       建一个demo-web.sh的脚本文件
       
       脚本文件的内容:
       #!/bin/sh
       #这里可替换为你自己的执行程序,其他代码无需更改
       APP_NAME=demo-web.jar
       #使用说明,用来提示输入参数
       usage() {
               echo "Usage: sh demo.sh [start|stop|restart|status]"
               exit 1
       }

       #检查程序是否在运行
       is_exist() { 
               pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
               echo "pid==${pid}"
               #如果不存在返回1,存在返回0
               if [ -z "${pid}" ]; then
                  return 1
               else
                  return 0
               fi
        }

       #启动方法
      start() {
              echo "*********check is_exist in first*****"
              is_exist
              if [ $? -eq "0" ]; then
                 echo "${APP_NAME} is already running. pid=${pid} ."
                 kill $pid
                 sleep 5s
                 kill -9 $pid
                 echo "kill pid " $pid
              else
                 echo "${APP_NAME} is not running and pid is null ."
                 nohup java -Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/application/smart-building-service/JeeSite-Web.dump -jar /usr/local/application/smart-building-service/JeeSite-Web.jar > /usr/local/application/smart-building-service/JeeSite-Web.log 2>&1 &
                 echo "run end ************"
                 #nohup java -jar $APP_NAME > /dev/null 2>&1 &
              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

第三步:

     jar包和shell脚本放在同一个文件夹下
     指令:
     sh demo-web.sh start 
     sh demo-web.sh stop
     sh demo-web.sh restart
     sh demo-web.sh status

补充:

     #  -Xmx20m -Xms5m -XX:HeapDumpOnOutofMemoryError -XX:HeapDumpPath=d:/a.dump
     #  分配了20M最大空间 ,启动 最小空间5M , 发生了 内存溢出错误 dump路径为a.dump

    #  2>&1 输出所有的日志文件
    #  ${path}.log  日志输出地址
    #  & 后台启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘德华一不小心就打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值