From 5e4ebf5c9ccdfdae287fe3d2008659becf7542eb Mon Sep 17 00:00:00 2001 From: gaoyutao Date: Fri, 20 Mar 2026 17:55:02 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96iptables=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=A2=9E=E5=88=A0=E9=80=BB=E8=BE=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/NetBusinessServiceImpl.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/tongran/agent/client/service/impl/NetBusinessServiceImpl.java b/src/main/java/com/tongran/agent/client/service/impl/NetBusinessServiceImpl.java index a19a819..5ecf336 100644 --- a/src/main/java/com/tongran/agent/client/service/impl/NetBusinessServiceImpl.java +++ b/src/main/java/com/tongran/agent/client/service/impl/NetBusinessServiceImpl.java @@ -43,12 +43,19 @@ public class NetBusinessServiceImpl implements NetBusinessService { try { loadProcessListFromFile(); - // 为配置文件中有的进程创建 cgroup 和 iptables 链 + // 为配置文件中有的进程创建 cgroup 和 iptables 链,但只创建有PID的 for (String processName : processList) { - createProcessCgroup(processName); - initProcessChains("iptables", processName); - initProcessChains("ip6tables", processName); - activeProcesses.add(processName); + List pids = getProcessPids(processName); + if (!pids.isEmpty()) { + createProcessCgroup(processName); + initProcessChains("iptables", processName); + initProcessChains("ip6tables", processName); + addProcessToCgroup(processName, pids); + activeProcesses.add(processName); + System.out.println("进程 " + processName + " (PID: " + pids + ") 初始化完成"); + } else { + System.out.println("进程 " + processName + " 当前无PID运行,跳过初始化"); + } } System.out.println("=== cgroup多进程监控初始化完成 ===");