]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
cgroup.py: Add method to get pids in a cgroup
authorTom Hromatka <tom.hromatka@oracle.com>
Mon, 17 May 2021 14:15:59 +0000 (14:15 +0000)
committerTom Hromatka <tom.hromatka@oracle.com>
Mon, 24 May 2021 15:42:33 +0000 (09:42 -0600)
Add a method, get_pids_in_cgroup(), that will return
the pids in a given cgroup.

Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
ftests/cgroup.py

index 32b9530ead3180a5c0c59b605043c503919b7bf1..dd9f0affe3a6c7e0e47ac32dad26a4a3e40dc820 100644 (file)
@@ -814,3 +814,19 @@ class Cgroup(object):
             return config.container.run(cmd, shell_bool=True)
         else:
             return Run.run(cmd, shell_bool=True)
+
+    @staticmethod
+    def get_pids_in_cgroup(config, cgroup, controller):
+        mounts = Cgroup.get_cgroup_mounts(config)
+
+        for mount in mounts:
+            if mount.controller == controller:
+                proc_file = os.path.join(mount.mount_point, cgroup, "cgroup.procs")
+                cmd = ['cat', proc_file]
+
+                if config.args.container:
+                    return config.container.run(cmd, shell_bool=True)
+                else:
+                    return Run.run(cmd, shell_bool=True)
+
+        return None