@echo off echo ======================================== echo Stop All Services echo ======================================== echo. echo [1] Stopping backend service (port 3001)... for /f "tokens=5" %%a in ('netstat -aon ^| findstr :3001') do ( set PID=%%a echo Found process: PID=%%a taskkill /F /PID %%a >nul 2>&1 if errorlevel 1 ( echo ERROR: Cannot terminate process %%a ) else ( echo OK: Process %%a terminated ) ) echo. echo [2] Stopping frontend service (port 5173)... for /f "tokens=5" %%a in ('netstat -aon ^| findstr :5173') do ( set PID=%%a echo Found process: PID=%%a taskkill /F /PID %%a >nul 2>&1 if errorlevel 1 ( echo ERROR: Cannot terminate process %%a ) else ( echo OK: Process %%a terminated ) ) echo. echo [3] Stopping Python service (port 8000)... for /f "tokens=5" %%a in ('netstat -aon ^| findstr :8000') do ( set PID=%%a echo Found process: PID=%%a taskkill /F /PID %%a >nul 2>&1 if errorlevel 1 ( echo ERROR: Cannot terminate process %%a ) else ( echo OK: Process %%a terminated ) ) echo. echo [4] Terminating all Node processes... tasklist | findstr node.exe >nul if not errorlevel 1 ( echo Found Node processes, terminating... taskkill /F /IM node.exe >nul 2>&1 if errorlevel 1 ( echo ERROR: Cannot terminate Node processes ) else ( echo OK: All Node processes terminated ) ) else ( echo INFO: No running Node processes ) echo. echo [5] Terminating Python processes (uvicorn)... tasklist | findstr python.exe >nul if not errorlevel 1 ( echo Found Python processes, terminating... taskkill /F /IM python.exe >nul 2>&1 if errorlevel 1 ( echo ERROR: Cannot terminate Python processes ) else ( echo OK: All Python processes terminated ) ) else ( echo INFO: No running Python processes ) echo. echo ======================================== echo Cleanup Complete! echo ======================================== echo. echo All services stopped. You can restart them now. echo. pause