123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/bin/bash
- # 强力清理 knowledge-agent 相关进程
- echo "🔍 查找 knowledge-agent 相关进程..."
- # 查找所有可能的进程
- PROCESSES=$(ps aux | grep -E "(python.*agent\.py|uvicorn.*agent|knowledge-agent|agent\.py|multiprocessing\.spawn)" | grep -v grep | awk '{print $2}')
- if [ -z "$PROCESSES" ]; then
- echo "✅ 没有找到 knowledge-agent 相关进程"
- else
- echo "📋 找到以下进程:"
- ps aux | grep -E "(python.*agent\.py|uvicorn.*agent|knowledge-agent|agent\.py|multiprocessing\.spawn)" | grep -v grep
-
- echo ""
- echo "🛑 开始强制终止进程..."
-
- # 强制终止所有找到的进程
- for pid in $PROCESSES; do
- echo "强制终止进程 $pid..."
- kill -9 $pid 2>/dev/null
- done
-
- # 等待1秒
- sleep 1
-
- # 再次检查
- REMAINING=$(ps aux | grep -E "(python.*agent\.py|uvicorn.*agent|knowledge-agent|agent\.py|multiprocessing\.spawn)" | grep -v grep | awk '{print $2}')
-
- if [ ! -z "$REMAINING" ]; then
- echo "⚠️ 仍有进程未终止,再次强制终止..."
- for pid in $REMAINING; do
- echo "再次强制终止进程 $pid..."
- kill -9 $pid 2>/dev/null
- done
- fi
-
- echo "✅ 进程清理完成"
- fi
- # 清理PID文件
- if [ -f "/tmp/knowledge-agent.pid" ]; then
- echo "🗑️ 清理PID文件..."
- rm -f /tmp/knowledge-agent.pid
- fi
- # 检查端口占用
- echo "🔍 检查端口8080占用情况..."
- PORT_PROCESS=$(lsof -ti:8080 2>/dev/null)
- if [ ! -z "$PORT_PROCESS" ]; then
- echo "⚠️ 端口8080仍被占用,进程ID: $PORT_PROCESS"
- echo "强制终止占用端口的进程..."
- kill -9 $PORT_PROCESS 2>/dev/null
- echo "✅ 端口已释放"
- else
- echo "✅ 端口8080已释放"
- fi
- echo "🏁 清理完成"
|