Files
ColaFlow/stop-dev.sh
Yaojia Wang b11c6447b5
Some checks failed
Code Coverage / Generate Coverage Report (push) Has been cancelled
Tests / Run Tests (9.0.x) (push) Has been cancelled
Tests / Docker Build Test (push) Has been cancelled
Tests / Test Summary (push) Has been cancelled
Sync
2025-11-08 18:13:48 +01:00

68 lines
2.4 KiB
Bash

#!/bin/bash
# ColaFlow Development Environment Stop Script
# This script stops both backend API and frontend web application
# Colors
CYAN='\033[0;36m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
GRAY='\033[0;90m'
NC='\033[0m' # No Color
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} Stopping ColaFlow Services${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
# Get the script directory (project root)
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Stop backend
echo -e "${YELLOW}[Backend] Stopping dotnet processes...${NC}"
if [ -f "$PROJECT_ROOT/backend.pid" ]; then
backend_pid=$(cat "$PROJECT_ROOT/backend.pid")
if ps -p $backend_pid > /dev/null 2>&1; then
kill $backend_pid 2>/dev/null
echo -e "${GREEN}[Backend] Stopped process $backend_pid${NC}"
else
echo -e "${GRAY}[Backend] Process $backend_pid not running${NC}"
fi
rm "$PROJECT_ROOT/backend.pid"
else
# Fallback: kill all dotnet processes
pkill -f "dotnet.*ColaFlow" 2>/dev/null && echo -e "${GREEN}[Backend] Stopped dotnet processes${NC}" || echo -e "${GRAY}[Backend] No dotnet processes found${NC}"
fi
# Stop frontend
echo -e "${YELLOW}[Frontend] Stopping Node.js processes...${NC}"
if [ -f "$PROJECT_ROOT/frontend.pid" ]; then
frontend_pid=$(cat "$PROJECT_ROOT/frontend.pid")
if ps -p $frontend_pid > /dev/null 2>&1; then
kill $frontend_pid 2>/dev/null
echo -e "${GREEN}[Frontend] Stopped process $frontend_pid${NC}"
else
echo -e "${GRAY}[Frontend] Process $frontend_pid not running${NC}"
fi
rm "$PROJECT_ROOT/frontend.pid"
else
# Fallback: kill processes on port 3000
if command -v lsof &> /dev/null; then
lsof -ti:3000 | xargs kill 2>/dev/null && echo -e "${GREEN}[Frontend] Stopped processes on port 3000${NC}" || echo -e "${GRAY}[Frontend] No processes found on port 3000${NC}"
else
pkill -f "next dev" 2>/dev/null && echo -e "${GREEN}[Frontend] Stopped Next.js processes${NC}" || echo -e "${GRAY}[Frontend] No Next.js processes found${NC}"
fi
fi
# Clean up log files
if [ -f "$PROJECT_ROOT/backend.log" ]; then
rm "$PROJECT_ROOT/backend.log"
fi
if [ -f "$PROJECT_ROOT/frontend.log" ]; then
rm "$PROJECT_ROOT/frontend.log"
fi
echo ""
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} Services Stopped${NC}"
echo -e "${CYAN}========================================${NC}"