Use the correct path for the container's cgroup task file.
Also exit out early and cleanly if the container is not running,
and bind-mount /proc/$pid/net with '-n' to keep the entry out
of mtab, else the mtab entry will never go away.
Signed-off-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
exit 1
fi
+lxc-info -n $name 2>&1 | grep -q 'STOPPED'
+if [ $? -eq 0 ]; then
+ echo "Container $name is not running"
+ exit 1
+fi
+
cgroups=$(mount -l -t cgroup)
cgroup_path=""
exit 1
fi
-pid=$(head -1 $cgroup_path/$name/tasks)
+# the container will be in:
+# ${cgroup_path}.${init_cgroup_path}."lxc".$name
+init_cgroup=`cat /proc/1/cgroup | awk -F: '{ print $3 }' | head -1`
+final_cgroup_path=$cgroup_path/$init_cgroup/lxc
+pid=$(head -1 $final_cgroup_path/$name/tasks)
if [ -z "$pid" ]; then
echo "no process found for '$name'"
exit 1
fi
-mount --bind /proc/$pid/net /proc/$$/net && \
+mount -n --bind /proc/$pid/net /proc/$$/net && \
exec netstat "$@"