@echo off REM ============================================ REM PANJIT Document Translator V2 REM 停止所有服務腳本 (Windows) REM ============================================ echo ======================================== echo PANJIT Document Translator V2 echo 停止所有服務 echo ======================================== echo. echo [INFO] 正在停止所有相關服務... echo. REM 停止 Celery Beat echo [1/5] 停止 Celery Beat... taskkill /F /FI "WINDOWTITLE eq Celery Beat*" >nul 2>&1 if %errorlevel% equ 0 ( echo √ Celery Beat 已停止 ) else ( echo - Celery Beat 未運行 ) REM 停止 Celery Worker echo [2/5] 停止 Celery Worker... taskkill /F /FI "WINDOWTITLE eq Celery Worker*" >nul 2>&1 if %errorlevel% equ 0 ( echo √ Celery Worker 已停止 ) else ( echo - Celery Worker 未運行 ) REM 停止 Flask Backend echo [3/5] 停止 Flask 後端... taskkill /F /FI "WINDOWTITLE eq Flask Backend*" >nul 2>&1 if %errorlevel% equ 0 ( echo √ Flask Backend 已停止 ) else ( echo - Flask Backend 未運行 ) REM 停止佔用 12010 端口的進程 echo [4/5] 停止端口 12010 的進程... for /f "tokens=5" %%a in ('netstat -aon ^| findstr :12010') do ( taskkill /F /PID %%a >nul 2>&1 echo √ 端口 12010 已釋放 ) REM 停止 Redis echo [5/5] 停止 Redis 服務器... taskkill /F /FI "WINDOWTITLE eq Redis Server*" >nul 2>&1 if %errorlevel% equ 0 ( echo √ Redis Server 已停止 ) else ( echo - Redis Server 未運行 ) REM 清理殘留的 Python 和 Redis 進程 echo. echo [清理] 檢查殘留進程... taskkill /F /IM "redis-server.exe" >nul 2>&1 taskkill /F /IM "python.exe" /FI "WINDOWTITLE eq *Celery*" >nul 2>&1 echo. echo ======================================== echo 所有服務已停止! echo ======================================== pause