status.sh 1.4 KB
#!/bin/bash
# 查看 LangGraph 服务状态

# 自动检测项目目录(脚本所在目录的父目录)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
APP_DIR="$(dirname "$SCRIPT_DIR")"
PID_FILE="$APP_DIR/logs/app.pid"

echo "LangGraph 服务状态"
echo "=================="
echo ""

if [ -f "$PID_FILE" ]; then
    PID=$(cat "$PID_FILE")
    if ps -p "$PID" > /dev/null 2>&1; then
        echo "✅ 服务正在运行"
        echo "   PID: $PID"
        echo "   进程信息:"
        ps -p "$PID" -o pid,ppid,cmd,etime,pcpu,pmem
        echo ""
        echo "📊 端口监听:"
        netstat -tlnp 2>/dev/null | grep ":2025 " || ss -tlnp 2>/dev/null | grep ":2025 " || echo "   未检测到端口监听"
        echo ""
        echo "📝 日志文件: $APP_DIR/logs/app.log"
        echo ""
        echo "🧪 测试连接:"
        if curl -s http://localhost:2025/ok > /dev/null 2>&1; then
            echo "   ✅ 服务响应正常"
        else
            echo "   ⚠️  服务无响应"
        fi
    else
        echo "❌ 服务未运行(PID 文件存在但进程不存在)"
        rm -f "$PID_FILE"
    fi
else
    echo "❌ 服务未运行"
    PID=$(ps aux | grep start_server_direct.py | grep -v grep | awk '{print $2}' | head -1)
    if [ -n "$PID" ]; then
        echo "   警告: 发现未管理的进程 (PID: $PID)"
        echo "   使用以下命令停止: kill $PID"
    fi
fi