|
@@ -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
|
|
|
}
|
|
|
|