PMFlow/scripts/stop_legacy_local.sh

80 lines
2.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Neural Sync 停止器 - 停止所有服务
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$PROJECT_DIR"
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo "🛑 停止 Neural Sync 服务"
echo "===================="
# 从 PID 文件读取并停止
if [ -f "logs/backend.pid" ]; then
BACKEND_PID=$(cat logs/backend.pid)
if ps -p $BACKEND_PID > /dev/null 2>&1; then
kill $BACKEND_PID 2>/dev/null
echo -e "${GREEN}✅ 后端已停止 (PID: $BACKEND_PID)${NC}"
fi
rm logs/backend.pid
fi
if [ -f "logs/frontend.pid" ]; then
FRONTEND_PID=$(cat logs/frontend.pid)
if ps -p $FRONTEND_PID > /dev/null 2>&1; then
kill $FRONTEND_PID 2>/dev/null
echo -e "${GREEN}✅ 前端已停止 (PID: $FRONTEND_PID)${NC}"
fi
rm logs/frontend.pid
fi
if [ -f "logs/tunnel.pid" ]; then
TUNNEL_PID=$(cat logs/tunnel.pid)
if ps -p $TUNNEL_PID > /dev/null 2>&1; then
kill $TUNNEL_PID 2>/dev/null
echo -e "${GREEN}✅ Cloudflare Tunnel 已停止 (PID: $TUNNEL_PID)${NC}"
fi
rm logs/tunnel.pid
fi
if [ -f "logs/tunnel-frontend.pid" ]; then
TUNNEL_FRONT_PID=$(cat logs/tunnel-frontend.pid)
if ps -p $TUNNEL_FRONT_PID > /dev/null 2>&1; then
kill $TUNNEL_FRONT_PID 2>/dev/null
echo -e "${GREEN}✅ 前端 Tunnel 已停止 (PID: $TUNNEL_FRONT_PID)${NC}"
fi
rm logs/tunnel-frontend.pid
fi
if [ -f "logs/tunnel-backend.pid" ]; then
TUNNEL_BACK_PID=$(cat logs/tunnel-backend.pid)
if ps -p $TUNNEL_BACK_PID > /dev/null 2>&1; then
kill $TUNNEL_BACK_PID 2>/dev/null
echo -e "${GREEN}✅ 后端 Tunnel 已停止 (PID: $TUNNEL_BACK_PID)${NC}"
fi
rm logs/tunnel-backend.pid
fi
# Fallback: kill by name just in case
pkill -f "cloudflared tunnel --url http://127.0.0.1:5174" >/dev/null 2>&1 || true
pkill -f "cloudflared tunnel --url http://localhost:5174" >/dev/null 2>&1 || true
pkill -f "cloudflared tunnel --url http://127.0.0.1:8000" >/dev/null 2>&1 || true
pkill -f "cloudflared tunnel --url http://localhost:8000" >/dev/null 2>&1 || true
pkill -f "cloudflared tunnel run" >/dev/null 2>&1 || true
# 清理端口 (8000 后端, 5173/5174 前端)
lsof -ti:8000 2>/dev/null | xargs kill -9 2>/dev/null || true
lsof -ti:5173 2>/dev/null | xargs kill -9 2>/dev/null || true
lsof -ti:5174 2>/dev/null | xargs kill -9 2>/dev/null || true
# 停止 Ollama(可选)
read -p "是否同时停止 Ollama? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
pkill -9 -f "ollama serve" 2>/dev/null && echo -e "${GREEN}✅ Ollama 已停止${NC}" || true
fi
echo -e "${GREEN}🎉 所有服务已停止${NC}"