#!/bin/bash # Close TalkEdit and/or CutScript processes (Tauri dev, Electron, and Python backends) KILLED_ANY=0 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, port 8000) --- kill_port 8000 "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" # --- CutScript (Electron, port 8642) --- kill_port 8642 "CutScript" kill_pattern "electron.*CutScript\|CutScript.*electron" "CutScript (Electron)" kill_pattern "vite.*CutScript\|CutScript.*vite" "CutScript frontend dev server" # --- Orphaned uvicorn workers for either app --- kill_pattern "uvicorn.*main:app.*--port 800[012]" "leftover uvicorn workers (TalkEdit)" kill_pattern "uvicorn.*main:app.*--port 864" "leftover uvicorn workers (CutScript)" if [[ $KILLED_ANY -eq 0 ]]; then echo "Nothing to close — no TalkEdit or CutScript processes found." else echo "Done." fi