From 86bc6a7d1f2987aef27d0c908195de807ba2e337 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Mon, 30 Mar 2026 11:56:26 -0700 Subject: [PATCH] =?UTF-8?q?chore(run-named):=20=F0=9F=94=A7=20Update=20run?= =?UTF-8?q?-named=20script=20with=20new/modified=20commands=20and=20config?= =?UTF-8?q?urations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- run | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/run b/run index 988cf3a..f663fc7 100755 --- a/run +++ b/run @@ -148,6 +148,12 @@ cmd_dev() { } cmd_stop() { + # Kill vision first — camera must be released before tray gets a chance to respawn it. + # Vision ignores SIGTERM (cap.read() blocks the asyncio loop), so SIGKILL is required. + pgrep -f "chobit_vision\\.py" | while read -r cpid; do + kill -9 "$cpid" 2>/dev/null + done || true + # Stop tray if [ -f "$TRAY_PIDFILE" ]; then local tray_pid @@ -168,7 +174,7 @@ cmd_stop() { kill "$cpid" 2>/dev/null done || true pgrep -f "chobit_vision\\.py" | while read -r cpid; do - kill "$cpid" 2>/dev/null + kill -9 "$cpid" 2>/dev/null done || true # Stop Godot