#!/bin/bash # BBAV20311 服务启动脚本 - 带自动重启 PROJECT_DIR="/home/xia-lab/wutx/00test/bbav20311" LOG_FILE="/tmp/bbav20311.log" PID_FILE="/tmp/bbav20311.pid" cd "$PROJECT_DIR/apps/web/vue3" # 如果服务已在运行,先停止 if [ -f "$PID_FILE" ]; then OLD_PID=$(cat "$PID_FILE") if ps -p "$OLD_PID" > /dev/null 2>&1; then echo "停止旧服务 (PID: $OLD_PID)..." kill "$OLD_PID" 2>/dev/null sleep 2 fi fi # 清理日志 echo "=== 服务启动 $(date) ===" > "$LOG_FILE" # 启动服务并监控 while true; do echo "启动服务..." python3 main.py >> "$LOG_FILE" 2>&1 & PID=$! echo $PID > "$PID_FILE" echo "服务已启动,PID: $PID" # 等待服务退出 wait $PID EXIT_CODE=$? echo "服务退出,退出码: $EXIT_CODE,$(date)" >> "$LOG_FILE" # 检查是否是正常停止(SIGTERM = 143, SIGINT = 130) if [ $EXIT_CODE -eq 0 ] || [ $EXIT_CODE -eq 130 ] || [ $EXIT_CODE -eq 143 ]; then echo "服务正常停止,不重启" break fi echo "服务异常退出,5秒后重启..." sleep 5 done rm -f "$PID_FILE"