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