We cannot assume that the mount source name always starts with 'cgroup'
so we check the filesystem type instead.
Use 'awk' instead of 'grep -E' and as it is a better tool for this job.
This fixes the tool on systems using openrc.
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
init_cgroup=${fields#*:}
# Get the filesystem mountpoint of the hierarchy
- mountpoint=$(grep -E "^cgroup [^ ]+ [^ ]+ ([^ ]+,)?$subsystems(,[^ ]+)? " /proc/self/mounts | cut -d ' ' -f 2)
+ mountpoint=$(awk -v subsysregex="(^|,)$subsystems(,|\$)" \
+ '$3 == "cgroup" && $4 ~ subsysregex {print $2}' /proc/self/mounts)
if [ -z "$mountpoint" ]; then continue; fi
# Return the absolute path to the containers' parent cgroup