mayor
94c2d71c13
fix(tmux): kill pane processes before all RespawnPane calls to prevent orphans
...
## Problem
Claude processes were accumulating as orphans, with 100+ processes piling up
daily. Every `gt handoff` (used dozens of times/hour by crew) left orphaned
processes because `tmux respawn-pane -k` only sends SIGHUP, which Node/Claude
ignores.
## Root Cause
Previous fixes (1043f00d , f89ac47f , 2feefd17 , 1b036aad ) were laser-focused on
specific symptoms (shutdown, setsid, done.go, molecule_step.go) but never did
a comprehensive audit of ALL RespawnPane call sites. handoff.go was never
fixed despite being the main source of orphans.
## Solution
Added KillPaneProcesses() call before every RespawnPane() in:
- handoff.go (self handoff and remote handoff)
- mayor.go (mayor restart)
- crew_at.go (new session and restart)
KillPaneProcesses explicitly kills all descendant processes with SIGTERM/SIGKILL
before respawning, preventing orphans regardless of SIGHUP handling.
molecule_step.go already had this fix from commit 1b036aad .
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-21 21:09:30 -08:00
..
2026-01-20 14:17:35 -08:00
2026-01-20 20:48:33 -08:00
2026-01-11 23:03:47 -08:00
2026-01-12 01:45:26 -08:00
2026-01-13 13:40:57 -08:00
2026-01-13 13:14:47 -08:00
2026-01-20 20:45:58 -08:00
2026-01-17 03:19:08 -08:00
2026-01-15 17:44:40 -08:00
2026-01-21 18:04:58 -08:00
2026-01-13 19:34:29 -08:00
2026-01-13 19:34:29 -08:00
2026-01-13 19:34:29 -08:00
2026-01-20 21:36:42 -08:00
2026-01-20 20:46:43 -08:00
2026-01-17 02:49:17 -08:00
2026-01-20 12:58:01 -08:00
2026-01-21 21:09:30 -08:00
2026-01-16 15:27:59 -08:00
2026-01-17 03:49:18 -08:00
2026-01-09 02:22:36 +13:00
2026-01-09 02:22:20 +13:00
2026-01-20 20:45:58 -08:00
2026-01-12 23:07:49 -08:00
2026-01-17 02:55:39 -08:00
2026-01-20 20:45:58 -08:00
2026-01-08 20:25:01 -08:00
2026-01-20 20:20:49 -08:00
2026-01-17 02:55:39 -08:00
2026-01-20 19:51:37 -08:00
2026-01-21 20:52:26 -08:00
2026-01-10 22:56:33 -08:00
2026-01-20 23:20:50 +01:00
2026-01-08 20:25:01 -08:00
2026-01-16 11:05:59 -08:00
2026-01-16 11:05:59 -08:00
2026-01-12 02:45:03 -08:00
2026-01-12 02:31:06 -08:00
2026-01-16 12:33:51 -08:00
2026-01-21 22:48:06 +07:00
2026-01-21 18:05:00 -08:00
2026-01-21 21:09:30 -08:00
2026-01-09 22:46:06 -08:00
2026-01-16 15:28:55 -08:00
2026-01-21 17:40:05 -08:00
2026-01-21 17:40:05 -08:00
2026-01-08 22:10:40 +13:00
2026-01-17 12:46:49 -08:00
2026-01-09 13:30:11 -08:00
2026-01-20 14:17:35 -08:00
2026-01-21 22:48:06 +07:00
2026-01-09 23:01:55 -08:00
2026-01-17 09:49:53 -08:00
2026-01-09 23:01:55 -08:00
2026-01-14 21:18:20 -08:00
2026-01-14 21:18:20 -08:00
2026-01-09 23:01:55 -08:00
2026-01-20 20:48:47 -08:00
2026-01-14 21:29:37 -08:00
2026-01-09 23:01:55 -08:00
2026-01-14 21:19:54 -08:00
2026-01-14 21:25:11 -08:00
2026-01-21 17:28:47 -08:00
2026-01-21 17:28:47 -08:00
2026-01-21 21:09:30 -08:00
2026-01-20 14:10:26 -08:00
2026-01-21 20:52:26 -08:00
2026-01-17 02:11:12 -08:00
2026-01-09 22:10:09 -08:00
2026-01-20 22:30:23 -08:00
2026-01-09 00:41:35 -08:00
2026-01-20 19:31:26 -08:00
2026-01-16 15:23:28 -08:00
2026-01-16 15:27:38 -08:00
2026-01-20 19:31:26 -08:00
2026-01-09 00:41:35 -08:00
2026-01-17 01:40:02 -08:00
2026-01-17 02:55:39 -08:00
2026-01-21 18:04:00 -08:00
2026-01-20 19:31:17 -08:00
2026-01-17 03:47:18 -08:00
2026-01-17 03:41:18 -08:00
2026-01-12 16:42:33 -08:00
2026-01-08 22:10:40 +13:00
2026-01-16 12:33:51 -08:00
2026-01-21 18:04:55 -08:00
2026-01-13 13:37:00 -08:00
2026-01-17 02:55:39 -08:00
2026-01-11 18:37:01 -08:00
2026-01-12 23:07:49 -08:00
2026-01-10 18:28:14 -08:00
2026-01-10 18:28:14 -08:00
2026-01-17 09:46:25 -08:00
2026-01-21 20:52:26 -08:00
2026-01-13 20:59:15 -08:00
2026-01-13 20:59:15 -08:00
2026-01-16 15:38:08 -08:00
2026-01-20 20:20:49 -08:00
2026-01-13 13:14:47 -08:00
2026-01-20 20:00:56 -08:00
2026-01-16 15:27:38 -08:00
2026-01-21 19:50:38 -08:00
2026-01-16 15:23:35 -08:00
2026-01-12 17:44:37 -08:00
2026-01-21 10:31:16 -08:00
2026-01-21 10:31:16 -08:00
2026-01-20 20:19:05 -08:00
2026-01-09 21:52:09 -08:00
2026-01-20 12:57:46 -08:00
2026-01-11 18:06:09 -08:00
2026-01-12 01:45:26 -08:00
2026-01-21 19:30:49 -08:00
2026-01-21 19:30:49 -08:00
2026-01-08 22:10:40 +13:00
2026-01-08 20:25:01 -08:00
2026-01-15 19:19:13 -08:00
2026-01-21 20:52:26 -08:00
2026-01-21 20:52:26 -08:00
2026-01-21 18:04:11 -08:00
2026-01-12 03:11:59 -08:00
2026-01-20 14:17:35 -08:00
2026-01-21 20:52:26 -08:00
2026-01-12 03:11:59 -08:00
2026-01-20 14:17:35 -08:00
2026-01-21 20:52:26 -08:00
2026-01-12 03:10:58 -08:00
2026-01-20 22:34:37 -08:00
2026-01-20 22:34:37 -08:00
2026-01-20 22:34:37 -08:00
2026-01-17 00:00:50 -08:00
2026-01-17 12:46:49 -08:00
2026-01-13 13:37:00 -08:00
2026-01-20 14:17:35 -08:00
2026-01-08 12:36:54 -05:00
2026-01-19 11:21:54 -08:00
2026-01-19 11:21:54 -08:00
2026-01-20 14:17:35 -08:00
2026-01-09 22:46:06 -08:00
2026-01-13 19:34:29 -08:00
2026-01-08 20:25:01 -08:00
2026-01-11 22:23:21 -08:00
2026-01-13 13:46:50 -08:00
2026-01-17 00:50:46 -08:00
2026-01-17 12:46:49 -08:00
2026-01-09 21:56:53 -08:00
2026-01-20 20:45:58 -08:00