| name | doey-kill-session |
| description | Kill the entire Doey session — all windows, processes, and runtime files. Use when you need to "kill this session", "shut down doey", or "stop everything and clean up". |
- Session config: !
cat $(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)/session.env 2>/dev/null || true
Confirm first: "This kills session ${SESSION_NAME} and removes runtime. Proceed?"
RD=$(tmux show-environment DOEY_RUNTIME 2>/dev/null | cut -d= -f2-)
SESSION_NAME=$(grep "^SESSION_NAME=" "${RD}/session.env" 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"')
for sig in TERM 9; do
for w in $(tmux list-windows -t "$SESSION_NAME" -F '#{window_index}' 2>/dev/null); do
for ppid in $(tmux list-panes -t "${SESSION_NAME}:${w}" -F '#{pane_pid}' 2>/dev/null); do
pid=$(pgrep -P "$ppid" 2>/dev/null) && kill -"$sig" "$pid" 2>/dev/null
done
done; sleep 2
done
tmux kill-session -t "$SESSION_NAME"; rm -rf "$RD"
echo "Session killed, runtime removed"
Requires explicit confirmation. Kill processes before session. Re-init: doey.