Skip to content
鼓励作者:欢迎打赏犒劳

部署相关

部署脚本

deploy.sh

shell
sh deploy.sh app.jar
shell
#!/bin/sh

JAR_NAME=$1
LOG_FILE="nohup.out"

function start_process() {
    # 精准查找进程并终止
    PID=$(pgrep -f "java.*-jar $JAR_NAME")
    if [ -n "$PID" ]; then
        echo "Stopping existing process: $PID"
        kill -9 $PID
        sleep 3  # 等待进程终止
    fi

    # 启动应用并保留日志
    nohup java -Xms512m -Xmx512m -jar "$JAR_NAME" --spring.profiles.active=prod > "$LOG_FILE" 2>&1 &
    echo "Starting $JAR_NAME, check logs: $LOG_FILE"

    # 简单检测启动状态
    sleep 5  # 等待应用初始化
    if ! pgrep -f "java.*-jar $JAR_NAME" > /dev/null; then
        echo "Error: Failed to start $JAR_NAME. Check $LOG_FILE for details."
        exit 1
    fi
}

start_process "$JAR_NAME"

如有转载或 CV 的请标注本站原文地址