美文网首页
Spring Boot启动脚本

Spring Boot启动脚本

作者: 梅西爱骑车 | 来源:发表于2024-04-22 10:55 被阅读0次

    Spring Boot启动脚本,并且首先尝试停止正在运行的实例(如果存在的话),然后启动新的实例,你可以创建一个如下的脚本:

    #!/bin/bash  
      
    # 定义JAR包的路径  
    JAR_PATH="/path/to/yourapp.jar"  
      
    # 定义查找JAR包进程时使用的关键字  
    PROCESS_NAME="$(basename "$JAR_PATH")"  
      
    # 查找进程的PID  
    PID=$(pgrep -f "$PROCESS_NAME")  
      
    # 如果进程正在运行,则停止它  
    if [ -n "$PID" ]; then  
      echo "正在停止......,Spring Boot应用, PID: $PID"  
      kill $PID  
      sleep 5 # 等待进程完全停止  
      echo "已停止!"  
    fi  
      
    # 检查JAR文件是否存在  
    if [ ! -f "$JAR_PATH" ]; then  
      echo "Error: JAR file not found at $JAR_PATH"  
      exit 1  
    fi  
      
    # 启动JAR包,并将日志输出到控制台  
    nohup java -jar "$JAR_PATH" &  
    echo "Spring Boot application 启动完毕!!!"
    

    这个脚本首先会查找与 JAR 文件名匹配的进程,并尝试停止它。然后,它会检查 JAR 文件是否存在,如果存在,则启动应用。

    请注意以下几点:

    PROCESS_NAME 是通过 basename 命令从 JAR_PATH 中提取的,这样即使 JAR 文件名包含路径信息,也能正确找到对应的进程。
    使用了 sleep 5 来确保在尝试启动新实例之前,旧实例已经完全停止。这个等待时间可能需要根据你的应用实际情况进行调整。
    nohup 命令用于在后台运行 java -jar 命令,这样即使你关闭了终端,应用也会继续运行。
    保存这个脚本为 restart.sh,然后赋予它执行权限:

    chmod +x restart.sh
    

    现在,你可以通过运行 ./restart.sh 来重启你的 Spring Boot 应用了。如果应用正在运行,它会首先被停止,然后一个新的实例会被启动。如果应用没有运行,它将直接启动一个新的实例。

    相关文章

      网友评论

          本文标题:Spring Boot启动脚本

          本文链接:https://www.haomeiwen.com/subject/wxwbxjtx.html