Files
TalkEdit/close
2026-04-08 01:42:00 -06:00

47 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Close TalkEdit processes (Tauri dev and Python backend)
KILLED_ANY=0
BACKEND_PORT="${BACKEND_PORT:-8000}"
FRONTEND_PORT="${FRONTEND_PORT:-5173}"
kill_port() {
local port=$1
local name=$2
local pids
pids=$(lsof -ti tcp:"$port" 2>/dev/null)
if [[ -n "$pids" ]]; then
echo "Stopping $name (port $port, PID $pids)..."
kill "$pids" 2>/dev/null
KILLED_ANY=1
fi
}
kill_pattern() {
local pattern=$1
local label=$2
local pids
pids=$(pgrep -f "$pattern" 2>/dev/null)
if [[ -n "$pids" ]]; then
echo "Stopping $label..."
kill $pids 2>/dev/null
KILLED_ANY=1
fi
}
# --- TalkEdit (Tauri) ---
kill_port "$BACKEND_PORT" "TalkEdit"
kill_pattern "tauri.*TalkEdit\|TalkEdit.*tauri\|cargo.*tauri dev\|/TalkEdit/target/debug" "TalkEdit (Tauri dev)"
# Frontend dev server: first kill by listening port, then by known process patterns.
kill_port "$FRONTEND_PORT" "TalkEdit frontend"
kill_pattern "vite\|rsbuild\|npm.*run dev\|pnpm.*dev\|yarn.*dev" "TalkEdit frontend dev server"
# --- Orphaned uvicorn workers for TalkEdit ---
kill_pattern "uvicorn.*main:app.*--port ${BACKEND_PORT}" "leftover uvicorn workers (TalkEdit)"
if [[ $KILLED_ANY -eq 0 ]]; then
echo "Nothing to close — no TalkEdit processes found."
else
echo "Done."
fi