I was surprised to discover that a process can have a parent that isn't a thread group leader. (The usual ppid interfaces hide this, but the children list exposes it.)
Signed-off-by: Andy Lutomirski <[email protected]> Cc: Cyrill Gorcunov <[email protected]> Cc: Oleg Nesterov <[email protected]> --- Documentation/filesystems/proc.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index fd8d0d5..205796a 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -1623,6 +1623,12 @@ This file provides a fast way to retrieve first level children pids of a task pointed by <pid>/<tid> pair. The format is a space separated stream of pids. +This really is a per-thread list. If a process's parent is a thread, +then that process will appear in that thread's children list. (This +means that, for any pid, /proc/pid/task/*/children are disjoint lists.) +This may be surprising, as /proc/pid/status's PPid field is parent's +tgid as opposed to the parent's tid. + Note the "first level" here -- if a child has own children they will not be listed here, one needs to read /proc/<children-pid>/task/<tid>/children to obtain the descendants. -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

