[lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc

Weng Meiling wengmeiling.weng at huawei.com
Tue Jun 4 12:52:27 UTC 2013


When we use arg --lxc to show processes in all containers, no
process displays, so fix it.

Signed-off-by: Weng Meiling <wengmeiling.weng at huawei.com>
---
 src/lxc/lxc-ps.in | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in
index 29e8097..7e08a71 100644
--- a/src/lxc/lxc-ps.in
+++ b/src/lxc/lxc-ps.in
@@ -39,9 +39,10 @@ help() {

 get_parent_cgroup()
 {
-    local hierarchies hierarchy fields subsystems init_cgroup mountpoint
+    local hierarchies hierarchy fields init_cgroup mountpoint

     parent_cgroup=""
+    subsystems=""

     # Obtain a list of hierarchies that contain one or more subsystems
     hierarchies=$(tail -n +2 /proc/cgroups | cut -f 2)
@@ -65,11 +66,7 @@ get_parent_cgroup()
         if [ -z "$mountpoint" ]; then continue; fi

         # Return the absolute path to the containers' parent cgroup
-        # (do not append '/lxc' if the hierarchy contains the 'ns' subsystem)
-        case ",$subsystems," in
-            *,ns,*) parent_cgroup="${mountpoint}${init_cgroup%/}";;
-            *) parent_cgroup="${mountpoint}${init_cgroup%/}";;
-        esac
+        parent_cgroup="${mountpoint}${init_cgroup%/}";;
         break
     done
 }
@@ -106,7 +103,10 @@ if [ ! -d "$parent_cgroup" ]; then
 fi

 if [ -z "$containers" ]; then
-    containers="$(find $parent_cgroup -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')"
+    case ",$subsystems," in
+	*,ns,*) containers="$(find $parent_cgroup -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')";;
+        *) containers="$(find $parent_cgroup/lxc -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')";;
+    esac
 fi

 container_field_width=9
-- 1.8.2.2





More information about the lxc-devel mailing list