#!/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 "🏁 清理完成"