lxc-ps: fix the display problem with arg --lxc

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

(Changelog: Serge: in-line fix of s/;;/;/ at line 69)

Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Weng Meiling 2013-06-04 20:52:27 +08:00 committed by Serge Hallyn
parent eddaaafd1a
commit 1af60b514f

View File

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