java jar 启动停止脚本

这是一个用于启动和停止Java应用程序的自动化脚本,主要涉及进程管理、日志处理和错误检测。脚本首先定义了应用路径、jar包名称、日志文件等变量,然后通过`ps`命令查找并杀死相关进程。启动时,它会检查jar包是否存在,如果存在则使用`nohup`启动应用并写入日志文件,同时监控日志以确认应用是否成功启动。
摘要由CSDN通过智能技术生成

启动脚本

#!/bin/bash

NAME=$1

#开始时间 时间戳
startTime=`date +'%Y-%m-%d %H:%M:%S'`

#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/mall
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target

#jar包文件名称
APP_NAME=mall-$NAME-1.0-SNAPSHOT.jar
#app全路径
APP_FULL_NAME=$APP_PATH/$APP_NAME

#日志文件名称
LOG_FILE=$APP_PATH/logs/$NAME.log

#启动环境   # 如果需要配置数据和redis,请在 application-prod.yml中修改, 用jar命令修改即可
APP_YML=--spring.profiles.active=prod


#数据库配置

rm -rf $LOG_FILE

echo "开始停止项目进程"
#查询进程,并杀掉当前jar/java程序

pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ $pid ];then
  echo "pid: $pid"
  kill -9 $pid
  echo "项目进程进程终止成功"
fi

sleep 2

if test -e $APP_NAME;then
  echo '文件存在,开始启动此程序...'

# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件  --spring.profiles.active=prod 启动 prod环境


  nohup java -jar $APP_FULL_NAME $APP_YML > $LOG_FILE 2>&1 &
  echo "正在发布中,请稍后......"
  sleep 10s

  #通过检测日志来判断
  while [ -f $LOG_FILE ]
  do
      success=`grep "Started MallPortalApplication in " $LOG_FILE`
      if [[ "$success" != "" ]]
      then
#          echo "Crmeb start ........."
          break
      else
#          echo "Crmeb Running ......."
          sleep 1s
      fi

#      echo "开始检测启动失败标记"
      fail=`grep "Fail" $LOG_FILE`
      if [[ "$fail" != "" ]]
      then
          echo "项目启动失败"
          tail -f $LOG_FILE
          break
      else
#          echo "Crmeb Running ......."
          sleep 1s
      fi

  done
  echo "Started Success"

else
  echo '$APP_NAME 文件不存在,请检查。'
fi

停止脚本

#!/bin/bash

NAME=$1

#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/mall

#jar包文件名称
APP_NAME=mall-$NAME-1.0-SNAPSHOT.jar
APP_FULL_NAME=$APP_PATH/$APP_NAME

echo "开始停止项目进程"
#查询进程,并杀掉当前jar/java程序

pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`

echo "pid: $pid "

if [ $pid ];then
  echo "pid: $pid"
  kill -9 $pid
  echo "项目进程进程终止成功"
else
  echo "未找到对应服务"
fi

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值