小结:使用shell 脚本启动SpringBoot 的.jar项目

本文介绍如何使用Shell脚本启动SpringBoot应用,通过示例详细解释了启动、停止、重启及状态检查的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用SpringBoot开发程序,通过maven打包后,生成xxx.jar文件。以前的程序多数是打包成 .war包,放到Tomcat里运行。

在日常开发中,我一般都是通过shell编写.sh文件进行启动服务器。例如:

#!/bin/bash

#############################################
#  args: start  -- startup               #
#        stop   -- stop                  #
#        restart   -- restart               #
#        status -- check the status     #
#############################################
PRG="${BASH_SOURCE[0]}"
#PRGDIR current directory
PRGDIR="$(cd "$(dirname "${PRG}")" ; pwd)"

env='prd'
jarName="xbox-web.jar"  #你的程序包名
CLASS="xbox-web"
jvmops="-Xmx1048M -Xms512M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=256M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0  -XX:+UseCompressedOops"

status() {
 if [ -f $CLASS".pid" ]
 then
  pid=`awk '{print $1}' $CLASS".pid"`
  echo $CLASS" is running and pid is "$pid
 else
  echo $CLASS" is not running"
 fi
}

start() {
 if [ -f $CLASS".pid" ] 
 then
  status
  echo "It can't be runned twice!"
 else
  echo "starting $CLASS ..."
  eval "/usr/lib/jvm/jdk1.8.0_171/bin/java -Dspring.profiles.active=${env} -Dspringfox.documentation.swagger.v2.host=xxx.xxxx.com -jar xbox-web.jar --server.port=8095 --log.dir=/siov/logs/xbox/manage/>> /siov/logs/xbox/manage/stdout.log 2>> /siov/logs/xbox/manage/stderr.log &"
  echo $! > $CLASS".pid"
  status
 fi
}

stop() {
 echo "stoping "$CLASS
 pid=`awk '{print $1}' $CLASS".pid"`
 echo "kill pid is "$pid
 kill -9 $pid
 ps -ef | grep $CLASS |grep -v grep | awk '{print $2}' | xargs kill
 rm -f $CLASS".pid"
 echo $CLASS" stoped"
}

case $1 in

 status)
  status
 ;;

 start)
  start
 ;;

 stop)
  stop 
 ;;
 
 restart)
  stop
  start
 ;;

 *)
  echo "#########################################"
  echo "  args: start  -- startup rpc            "
  echo "        stop   -- stop rpc               "
  echo "        restart-- restart rpc            "
  echo "        status -- check the rpc status   "
  echo "#########################################"
 ;;

esac

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值