Liunx环境springBoot启动脚本

这篇博客介绍了如何通过Shell脚本来管理和后台运行Java应用,包括启动、停止、状态检查和重启操作。脚本中使用了nohup命令确保应用在退出控制台后仍能继续运行,并详细说明了各个功能的实现方法。此外,还讨论了如何根据需求自定义脚本,以简化在Linux环境中对项目的部署和管理。
摘要由CSDN通过智能技术生成

做开发的同学平时都用idea启动项目本地调试,但是部署到测试环境或是生产环境是在liunx机器上,如果用java -jar 命令启动项目退出控制台则项目运行停止,比较不方便,可能大家都知道加上nohup是后台运行,这样的话每次启动停止都要敲,很麻烦,在这里可以把相关的命令写成shell脚本的方式来运行会省事很多,详情如下:

 #!/bin/bash
 #此处换成你的jar包名
  APP_NAME=xx.jar
   
  #使用说明,用来提示输入参数,换成你的shell脚本名字
  usage(){
      echo "Usage: sh xx.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 0
   else
    return 1
   fi
  }  
 #启动方法,xx.log为你的日志输出地址文件
 start(){
   is_exist
   if [ $? -eq "0" ]
     then
     echo "${APP_NAME} is already running. pid=${pid} ."
   else
     nohup java -jar /data/app/${APP_NAME} > /data/app/logs/xx.log 2>&1 &
     echo "${APP_NAME} start success"
   fi
 }
  
 #停止方法,我这里用了kill -15 kill -9结果一样,但是15比较优雅点,有兴趣的同学可以看看jvm日志,这里不多赘述
 stop(){
   is_exist
   if [ $? -eq "0" ]
    then
     kill -15 $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

这个就可以了,启动命令就可以了,当然这只是暂时性的,,如果你的服务器是公网云服务,那你可以集成jenkins自动部署,因为这个项目部署是客户机房内网,无法集成jenkins,记录一下,希望能对你有点帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值