proc_pid(5)
๐ proc_pid(5) โ the /proc/<pid> files, bestie edition ๐
okay so this is a File Formats Manual page, and it's literally the gateway to every single per-process file in /proc. it's giving backstage pass to every running process on your machine. let's get into it ๐
โจ NAME โจ
/proc/pid/, /proc/self/ โ process information, no cap ๐
๐ธ DESCRIPTION ๐ธ
๐ฆ /proc/pid/
so for every running process there's a numerical subdirectory, and that subdirectory is named by the process ID. periodt. each /proc/pid subdirectory contains all the pseudo-files and directories described below โ it's a whole little world per process ๐ซถ
the files inside each /proc/pid directory are normally owned by the effective user and effective group ID of the process. but โ and this is the plot twist ๐ญ โ as a security measure, the ownership gets made root:root if the process's "dumpable" attribute is set to a value other than 1.
โ ๏ธ heads up, the "dumpable" thing is a real security mechanic, so pay attention bestie, this is not a drill ๐
Before Linux 4.11, root:root meant the "global" root user ID and group ID (i.e., UID 0 and GID 0 in the initial user namespace).
Since Linux 4.11, if โ when the last time the process called execve(2) โ it was in a noninitial user namespace that has a valid mapping for user (group) ID 0 inside the namespace, then the user (group) ownership of the files under /proc/pid is instead made the same as the root user (group) ID of the namespace. which means that inside a container, things work as expected for the container "root" user. containers stay slaying, basically ๐ณโจ
the process's "dumpable" attribute may change for the following reasons:
- the attribute was explicitly set via the
prctl(2)PR_SET_DUMPABLEoperation. ๐ - the attribute was reset to the value in the file
/proc/sys/fs/suid_dumpable(described below), for the reasons described inprctl(2). ๐
resetting the "dumpable" attribute to 1 reverts the ownership of the /proc/pid/* files to the process's effective UID and GID. note, however, that if the effective UID or GID is subsequently modified, then the "dumpable" attribute may be reset, as described in prctl(2). therefore, it may be desirable to reset the "dumpable" attribute after making any desired changes to the process's effective UID or GID. order of operations matters, bestie, do not skip steps ๐
see also:
proc_pid_attr(5)
proc_pid_autogroup(5)
proc_pid_auxv(5)
proc_pid_cgroup(5)
proc_pid_clear_refs(5)
proc_pid_cmdline(5)
proc_pid_comm(5)
proc_pid_coredump_filter(5)
proc_pid_cpuset(5)
proc_pid_cwd(5)
proc_pid_environ(5)
proc_pid_exe(5)
proc_pid_fd(5)
proc_pid_fdinfo(5)
proc_pid_gid_map(5)
proc_pid_io(5)
proc_pid_limits(5)
proc_pid_map_files(5)
proc_pid_maps(5)
proc_pid_mem(5)
proc_pid_mountinfo(5)
proc_pid_mounts(5)
proc_pid_mountstats(5)
proc_pid_net(5)
proc_pid_ns(5)
proc_pid_numa_maps(5)
proc_pid_oom_adj(5)
proc_pid_oom_score(5)
proc_pid_oom_score_adj(5)
proc_pid_pagemap(5)
proc_pid_personality(5)
proc_pid_projid_map(5)
proc_pid_root(5)
proc_pid_seccomp(5)
proc_pid_setgroups(5)
proc_pid_smaps(5)
proc_pid_stack(5)
proc_pid_stat(5)
proc_pid_statm(5)
proc_pid_status(5)
proc_pid_syscall(5)
proc_pid_task(5)
proc_pid_timers(5)
proc_pid_timerslack_ns(5)
proc_pid_uid_map(5)
proc_pid_wchan(5)
look at that list. that's 46 whole manual pages. the dedication is unmatched, honestly ๐โจ
๐ /proc/self/
this directory refers to the process accessing the /proc filesystem, and is identical to the /proc directory named by the process ID of the same process. it's the ultimate "who am i? i'm whoever's looking" main character energy ๐ช๐
โญ SEE ALSO โญ
that's the whole vibe check, bestie ๐ซถ go forth and read some process metadata. this page came out of Linux man-pages 6.20, dated 2026-03-18 โ so yeah, freshly dated and absolutely iconic for it ๐๐โจ
๐ฆ where this page comes from
- arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages 6.20
- ๐ the page's license: GPL-3.0-or-later
- Copyright 1994-1995, Daniel Quinlan <Daniel.Quinlan@linux.org>
- Copyright 2002-2017, Michael Kerrisk <mtk.manpages@gmail.com>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms