0557504f9c
This commit adds a lxc container name to every proc_t. If a process is not running in a container, then a '-' will be provided, making such a field always sortable. Unlike other proc_t character pointers, lxc containers will find many duplicate shared values. So rather than strdup 'em (with a later free required upon reuse), we try to keep track of those already seen and share that address among all tasks running within each container. We rely on the lines in the task's cgroup subdirectory which may initially seem somewhat unsophisticated. But the lxc library itself uses a similar approach when it is called to list active containers. In that case, the /proc/net/unix directory is parsed for the '/lxc' eye- catcher, with potential complications from hashed path and names that are too long (something we don't face). [ too bad docker abandoned lxc - our commit won't do ] [ anything for the users of those kind of containers ] Reference(s): https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1424253 https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1424253 Signed-off-by: Jim Warner <james.warner@comcast.net> |
||
---|---|---|
.. | ||
alloc.c | ||
alloc.h | ||
COPYING | ||
devname.c | ||
devname.h | ||
escape.c | ||
escape.h | ||
ksym.c | ||
libprocps.pc.in | ||
libprocps.sym | ||
openproc.3 | ||
procps.h | ||
pwcache.c | ||
pwcache.h | ||
readproc.3 | ||
readproc.c | ||
readproc.h | ||
readproctab.3 | ||
sig.c | ||
sig.h | ||
slab.c | ||
slab.h | ||
sysinfo.c | ||
sysinfo.h | ||
version.c | ||
version.h | ||
wchan.h | ||
whattime.c | ||
whattime.h |