jihuaqiang 2 tygodni temu
rodzic
commit
14b267349b
1 zmienionych plików z 33 dodań i 4 usunięć
  1. 33 4
      start_service.sh

+ 33 - 4
start_service.sh

@@ -134,11 +134,11 @@ stop_service() {
         kill "$pid" 2>/dev/null
         
         # 等待进程结束
-        for i in {1..10}; do
+        for i in {1..15}; do
             if ! ps -p "$pid" > /dev/null 2>&1; then
                 break
             fi
-            echo "等待进程结束... ($i/10)"
+            echo "等待进程结束... ($i/15)"
             sleep 1
         done
         
@@ -149,9 +149,38 @@ stop_service() {
         fi
         
         rm -f "$PID_FILE"
-        echo "✅ 服务已停止"
+        echo "✅ 主进程已停止"
     else
-        echo "ℹ️  服务未运行"
+        echo "ℹ️  主进程未运行"
+    fi
+    
+    # 额外清理:查找并终止所有相关进程
+    echo "🔍 检查是否有残留进程..."
+    REMAINING_PROCESSES=$(ps aux | grep -E "(python.*agent|knowledge-agent)" | grep -v grep | awk '{print $2}')
+    
+    if [ ! -z "$REMAINING_PROCESSES" ]; then
+        echo "⚠️  发现残留进程,正在清理..."
+        for pid in $REMAINING_PROCESSES; do
+            echo "终止残留进程 $pid..."
+            kill -TERM $pid 2>/dev/null
+        done
+        
+        # 等待2秒
+        sleep 2
+        
+        # 检查是否还有残留
+        STILL_REMAINING=$(ps aux | grep -E "(python.*agent|knowledge-agent)" | grep -v grep | awk '{print $2}')
+        if [ ! -z "$STILL_REMAINING" ]; then
+            echo "强制终止顽固进程..."
+            for pid in $STILL_REMAINING; do
+                echo "强制终止进程 $pid..."
+                kill -9 $pid 2>/dev/null
+            done
+        fi
+        
+        echo "✅ 残留进程已清理"
+    else
+        echo "✅ 没有发现残留进程"
     fi
 }