#!/bin/bash # 停止 FastAPI 开发服务器 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' PID_FILE="$HOME/fastapi-dev.pid" if [ -f "$PID_FILE" ]; then PID=$(cat "$PID_FILE") if ps -p $PID > /dev/null 2>&1; then echo -e "${YELLOW}停止 FastAPI 服务 (PID: $PID)...${NC}" kill $PID rm -f "$PID_FILE" echo -e "${GREEN}✓ 服务已停止${NC}" else echo -e "${RED}✗ 进程不存在 (PID: $PID)${NC}" rm -f "$PID_FILE" fi else echo -e "${YELLOW}查找运行中的 FastAPI 进程...${NC}" PIDS=$(ps aux | grep -E "uvicorn.*app_fastapi" | grep -v grep | awk '{print $2}') if [ -n "$PIDS" ]; then echo -e "${YELLOW}停止进程: $PIDS${NC}" echo $PIDS | xargs kill 2>/dev/null echo -e "${GREEN}✓ 服务已停止${NC}" else echo -e "${YELLOW}没有运行中的 FastAPI 服务${NC}" fi fi