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_DUMPABLE operation. ๐Ÿ‘‘
  • the attribute was reset to the value in the file /proc/sys/fs/suid_dumpable (described below), for the reasons described in prctl(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
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms