#!/bin/bash # Close TalkEdit processes (Tauri dev and Python backend) KILLED_ANY=0 BACKEND_PORT="${BACKEND_PORT:-8000}" 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 backend (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)" # Vite dev server for TalkEdit (port 5173) kill_pattern "vite.*5173\|rsbuild.*5173" "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