#!/bin/bash # EVE Application Kill Script # Stops all running EVE development processes # Colors GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' echo -e "${RED}╔════════════════════════════════════════════════════════╗${NC}" echo -e "${RED}║ Stopping EVE Development Server ║${NC}" echo -e "${RED}╚════════════════════════════════════════════════════════╝${NC}" echo "" killed_any=false # Function to kill process tree kill_process_tree() { local pid=$1 local children=$(pgrep -P $pid 2>/dev/null) for child in $children; do kill_process_tree $child done if kill -0 $pid 2>/dev/null; then echo -e "${BLUE}[KILLING]${NC} Process $pid" kill $pid 2>/dev/null || kill -9 $pid 2>/dev/null killed_any=true fi } # Kill processes by name echo -e "${BLUE}[INFO]${NC} Searching for EVE processes..." # Kill Tauri dev server tauri_pids=$(pgrep -f "tauri dev" 2>/dev/null) if [ ! -z "$tauri_pids" ]; then echo -e "${YELLOW}[FOUND]${NC} Tauri dev processes" for pid in $tauri_pids; do kill_process_tree $pid done fi # Kill Vite dev server vite_pids=$(pgrep -f "vite" 2>/dev/null) if [ ! -z "$vite_pids" ]; then echo -e "${YELLOW}[FOUND]${NC} Vite processes" for pid in $vite_pids; do kill_process_tree $pid done fi # Kill eve-assistant processes eve_pids=$(pgrep -f "eve-assistant" 2>/dev/null) if [ ! -z "$eve_pids" ]; then echo -e "${YELLOW}[FOUND]${NC} EVE application processes" for pid in $eve_pids; do kill_process_tree $pid done fi # Kill cargo processes related to this project cargo_pids=$(pgrep -f "cargo.*eve" 2>/dev/null) if [ ! -z "$cargo_pids" ]; then echo -e "${YELLOW}[FOUND]${NC} Cargo build processes" for pid in $cargo_pids; do kill_process_tree $pid done fi # Kill by PID file if exists if [ -f ".dev/run.pid" ]; then pid=$(cat .dev/run.pid) if kill -0 $pid 2>/dev/null; then echo -e "${YELLOW}[FOUND]${NC} Run script process (PID: $pid)" kill_process_tree $pid fi rm -f .dev/run.pid fi # Kill any processes using the default ports echo "" echo -e "${BLUE}[INFO]${NC} Checking for processes on default ports..." # Vite typically uses 5173 vite_port_pid=$(lsof -t -i:5173 2>/dev/null) if [ ! -z "$vite_port_pid" ]; then echo -e "${YELLOW}[FOUND]${NC} Process on port 5173 (Vite)" kill $vite_port_pid 2>/dev/null || kill -9 $vite_port_pid 2>/dev/null killed_any=true fi # Tauri typically uses various ports, check common ones for port in 1420 3000 8080; do port_pid=$(lsof -t -i:$port 2>/dev/null) if [ ! -z "$port_pid" ]; then # Check if it's related to our project cmd=$(ps -p $port_pid -o cmd= 2>/dev/null) if [[ $cmd == *"eve"* ]] || [[ $cmd == *"tauri"* ]] || [[ $cmd == *"vite"* ]]; then echo -e "${YELLOW}[FOUND]${NC} Process on port $port" kill $port_pid 2>/dev/null || kill -9 $port_pid 2>/dev/null killed_any=true fi fi done # Clean up lock files if [ -f "src-tauri/target/.rustc_info.json.lock" ]; then rm -f "src-tauri/target/.rustc_info.json.lock" fi echo "" if [ "$killed_any" = true ]; then echo -e "${GREEN}[SUCCESS]${NC} All EVE processes stopped ✓" else echo -e "${BLUE}[INFO]${NC} No EVE processes were running" fi echo ""