124 lines
3.6 KiB
Bash
Executable File
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 ""
|