jihuaqiang há 2 semanas atrás
pai
commit
96014e39bd
2 ficheiros alterados com 60 adições e 65 exclusões
  1. 0 65
      force_kill_processes.sh
  2. 60 0
      kill_all_processes.sh

+ 0 - 65
force_kill_processes.sh

@@ -1,65 +0,0 @@
-#!/bin/bash
-
-# 强制清理所有相关进程的脚本
-
-echo "🔍 查找所有相关进程..."
-
-# 查找所有相关进程
-PROCESSES=$(ps aux | grep -E "(python.*agent|knowledge-agent|gemini|image_identifier|video_identifier)" | grep -v grep | awk '{print $2}')
-
-if [ -z "$PROCESSES" ]; then
-    echo "✅ 没有找到相关进程"
-    exit 0
-fi
-
-echo "📋 找到以下进程:"
-ps aux | grep -E "(python.*agent|knowledge-agent|gemini|image_identifier|video_identifier)" | grep -v grep
-
-echo ""
-echo "🛑 开始强制终止进程..."
-
-# 首先尝试优雅终止
-for pid in $PROCESSES; do
-    echo "正在终止进程 $pid..."
-    kill -TERM $pid 2>/dev/null
-done
-
-# 等待3秒
-sleep 3
-
-# 检查是否还有进程存在
-REMAINING=$(ps aux | grep -E "(python.*agent|knowledge-agent|gemini|image_identifier|video_identifier)" | 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
-    
-    # 再次等待
-    sleep 2
-    
-    # 最终检查
-    FINAL_CHECK=$(ps aux | grep -E "(python.*agent|knowledge-agent|gemini|image_identifier|video_identifier)" | grep -v grep | awk '{print $2}')
-    
-    if [ ! -z "$FINAL_CHECK" ]; then
-        echo "❌ 仍有进程无法终止:"
-        ps aux | grep -E "(python.*agent|knowledge-agent|gemini|image_identifier|video_identifier)" | grep -v grep
-        echo "请手动检查这些进程"
-    else
-        echo "✅ 所有进程已强制终止"
-    fi
-else
-    echo "✅ 所有进程已优雅终止"
-fi
-
-# 清理PID文件
-if [ -f "/tmp/knowledge-agent.pid" ]; then
-    echo "🗑️  清理PID文件..."
-    rm -f /tmp/knowledge-agent.pid
-fi
-
-echo "🏁 清理完成"

+ 60 - 0
kill_all_processes.sh

@@ -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 "🏁 清理完成"