#!/bin/bash
set -e
BIN=/opt/friend-cluster/bin/friend-server-agent

echo "=== 1. 找到 server-agent 的 systemd unit ==="
UNIT=$(systemctl list-units --all --no-legend | grep -iE "server-agent" | awk '{print $1}' | head -1)
echo "UNIT=$UNIT"

echo "=== 2. 停止服务 ==="
if [ -n "$UNIT" ]; then
  systemctl stop "$UNIT"
else
  pkill -f friend-server-agent || true
fi
sleep 3
pgrep -f friend-server-agent && echo STILL_RUNNING || echo STOPPED

echo "=== 3. 替换二进制 ==="
cp "$BIN" "${BIN}.pre-m1-bak" 2>/dev/null || true
cp /tmp/friend-server-agent-new "$BIN"
chmod +x "$BIN"
echo REPLACED

echo "=== 4. 重启服务 ==="
if [ -n "$UNIT" ]; then
  systemctl start "$UNIT"
else
  # 无 unit 时按原参数手动拉起（从进程记录恢复）
  echo "NO_UNIT - 需要手动启动，打印原命令行供参考"
  cat /tmp/server-agent-cmdline.txt 2>/dev/null || true
fi
sleep 5
pgrep -f friend-server-agent >/dev/null && echo AGENT_RUNNING || echo AGENT_NOT_RUNNING
echo DONE
