68 lines
2.4 KiB
Bash
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}"
|