Files
sanguo_quant_live/management/workflow/scripts/agent_auto_start.sh
T

41 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Agent自动启动监控脚本 - 改进版:使用带自动git pull的监控脚本
# 当Agent启动时,自动启动监控脚本(带自动git pull)
AGENT_NAME="$1"
if [ -z "$AGENT_NAME" ]; then
echo "使用方法: ./agent_auto_start.sh <agent-name>"
echo "例如: ./agent_auto_start.sh pangtong"
exit 1
fi
# 项目目录:自动检测脚本所在位置,不需要硬编码
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")/../../.."
cd "$PROJECT_ROOT" || {
echo "❌ 无法进入项目目录: $PROJECT_ROOT"
exit 1
}
# 检查是否已经运行
if ps aux | grep "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep | grep -q .; then
echo "$AGENT_NAME 监控已经在运行"
exit 0
fi
# 启动改进版监控(带自动git pull)
echo "🚀 启动 $AGENT_NAME 监控..."
nohup ./management/workflow/scripts/agent_monitor_gitpull.sh "$AGENT_NAME" > "${AGENT_NAME}_monitor.log" 2>&1 &
# 检查是否启动成功
sleep 1
if ps aux | grep -q "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep; then
PID=$(ps aux | grep "agent_monitor_gitpull.sh $AGENT_NAME" | grep -v grep | awk '{print $2}')
echo "$AGENT_NAME 监控启动成功"
echo "🆔 PID: $PID"
echo "📝 日志: ${AGENT_NAME}_monitor.log"
else
echo "$AGENT_NAME 监控启动失败"
fi