
部署相关
部署脚本
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"