Result of find_by_name_for_uid: matches owned by the requested uid,
plus a count of matches owned by other users (so the caller can tell “no
such process” apart from “that process belongs to someone else”).
List processes owned by uid. A cheap stat() pre-filter (comparing the
/proc/<pid> directory’s owning uid) skips reading any file belonging to
another user’s process before read_process opens status/stat/exe.
Read the full ProcessInfo snapshot for one pid. status is required
(its Uid:/Name: fields anchor the snapshot); stat, exe, and
cgroup are each best-effort and simply left at their default/None if
unreadable (e.g. the process exited mid-read, or exe requires
permissions we don’t have). Returns None only if status can’t be read
or parsed.