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多进程监控初始化完成 ===");