|
@@ -0,0 +1,60 @@
|
|
|
+#!/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 "🏁 清理完成"
|