Files
eve-alpha/kill.sh
Aodhan Collins 8d6a681baa Phase 2 complete.
2025-10-06 21:08:25 +01:00

124 lines
3.6 KiB
Bash
Executable File

#!/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 ""