部署脚本修复

This commit is contained in:
2025-12-21 18:07:31 +08:00
parent 3c102aaa7e
commit 6b9b74c9e4
3 changed files with 135 additions and 82 deletions
+22 -2
View File
@@ -47,6 +47,7 @@ check_jar() {
# 停止旧服务
stop_service() {
# 1. 尝试通过 PID 文件停止
if [ -f "$PID_FILE" ]; then
PID=$(cat "$PID_FILE")
if ps -p "$PID" > /dev/null 2>&1; then
@@ -71,8 +72,27 @@ stop_service() {
log_warn "PID 文件存在但进程不存在,清理 PID 文件"
fi
rm -f "$PID_FILE"
else
log_info "没有找到 PID 文件,服务可能未运行"
fi
# 2. 双重检查:通过进程名查找并停止(防止 PID 文件丢失的情况)
PIDS=$(ps aux | grep "$JAR_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$PIDS" ]; then
log_warn "检测到残留进程 (PIDs: $PIDS),正在清理..."
for PID in $PIDS; do
log_info "停止残留进程 $PID"
kill "$PID" 2>/dev/null || true
done
sleep 5
# 再次检查并强制停止
PIDS=$(ps aux | grep "$JAR_NAME" | grep -v grep | awk '{print $2}')
if [ -n "$PIDS" ]; then
for PID in $PIDS; do
log_warn "强制停止残留进程 $PID"
kill -9 "$PID" 2>/dev/null || true
done
fi
fi
}