#!/bin/bash
# ============================================
# xwcode 停止脚本 (km 机器)
# ============================================
# 优雅停止 xwcode tmux session。
#
# 使用: bash ~/xw-stop.sh
# ============================================

SESSION="xwcode"

G='\033[0;32m' Y='\033[1;33m' R='\033[0;31m' N='\033[0m'

graceful_kill() {
    local sess=$1
    if tmux list-sessions -F '#{session_name}' 2>/dev/null | grep -qx "$sess"; then
        local pid
        pid=$(tmux list-panes -t "=$sess" -F '#{pane_pid}' 2>/dev/null | head -1)
        if [ -n "$pid" ]; then
            # 先发 SIGTERM,等待优雅退出
            kill -TERM "$pid" 2>/dev/null || true
            sleep 3
            # 如果还没退出,强制 kill
            kill -9 "$pid" 2>/dev/null || true
        fi
        tmux kill-session -t "=$sess" 2>/dev/null || true
        echo -e "${G}  ✓${N} 已停止: $sess"
    else
        echo -e "  -  $sess (未运行)"
    fi
}

echo -e "${Y}=== xwcode 停止脚本 ===${N}"
echo ""

graceful_kill "$SESSION"

echo ""
echo -e "${G}=== xwcode 已停止 ===${N}"