aboutsummaryrefslogtreecommitdiffstats
path: root/man5/proc_pid_exe.5
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2023-08-17 22:47:16 +0200
committerAlejandro Colomar <alx@kernel.org>2023-08-17 23:12:31 +0200
commit0569afbbccd6de28d1bacd13471a679ad2674aa1 (patch)
treee0286e2d8dee88465fc9e2b31697573af0aa10cf /man5/proc_pid_exe.5
parent29597f1e7ecd58e8239a1650c6bdea0517f913af (diff)
parent92cdcec79df039146e5ed42cac23cd4b7e3f9e25 (diff)
downloadman-pages-0569afbbccd6.tar.gz
proc*.5: Make sashimi
[Merge tag 'proc-sashimi-v1' of <git://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git>] proc(5) was a huge page, which was quite hard to maintain, extend, read, and refer to. Split the page into small pages for the different directories and files within /proc. Some pages are still too large (e.g., proc_sys(5)), and will some day be split even more. This split keeps the contents of the original page, without modifying anything; not even the formatting. The only thing that has been modified in this patches, is that directories are consistently represented with a trailing slash. For the file name of the pages, we've used the name of the interface (e.g., /proc/pid/), removing the leading and trailing '/'s and then translating the remaining ones as `tr / _` (e.g., proc_pid.5). The title of the pages (TH) is consistent with this. The NAME of the pages, however, is the actual path name of the interfaces. The man page references have not been updated, as that was a more complex and tedious work, so I expect that they'll be slowly updated as we and users find out. Link: <https://lore.kernel.org/linux-man/e3a5bc09-e835-9819-4aaa-12959495ac59@kernel.org/T/> Acked-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com> Acked-by: Günther Noack <gnoack@google.com> Acked-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Cc: Brian Inglis <Brian.Inglis@Shaw.ca> Cc: Ingo Schwarze <schwarze@usta.de> Cc: Colin Watson <cjwatson@debian.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'man5/proc_pid_exe.5')
-rw-r--r--man5/proc_pid_exe.559
1 files changed, 59 insertions, 0 deletions
diff --git a/man5/proc_pid_exe.5 b/man5/proc_pid_exe.5
new file mode 100644
index 0000000000..e308677f1a
--- /dev/null
+++ b/man5/proc_pid_exe.5
@@ -0,0 +1,59 @@
+.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com>
+.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org>
+.\"
+.\" SPDX-License-Identifier: GPL-3.0-or-later
+.\"
+.TH proc_pid_exe 5 (date) "Linux man-pages (unreleased)"
+.SH NAME
+/proc/pid/exe \- symbolic link to program pathname
+.SH DESCRIPTION
+.TP
+.IR /proc/ pid /exe
+Under Linux 2.2 and later, this file is a symbolic link
+containing the actual pathname of the executed command.
+This symbolic link can be dereferenced normally; attempting to open
+it will open the executable.
+You can even type
+.IR /proc/ pid /exe
+to run another copy of the same executable that is being run by
+process
+.IR pid .
+If the pathname has been unlinked, the symbolic link will contain the
+string \[aq]\ (deleted)\[aq] appended to the original pathname.
+.\" The following was still true as at kernel 2.6.13
+In a multithreaded process, the contents of this symbolic link
+are not available if the main thread has already terminated
+(typically by calling
+.BR pthread_exit (3)).
+.IP
+Permission to dereference or read
+.RB ( readlink (2))
+this symbolic link is governed by a ptrace access mode
+.B PTRACE_MODE_READ_FSCREDS
+check; see
+.BR ptrace (2).
+.IP
+Under Linux 2.0 and earlier,
+.IR /proc/ pid /exe
+is a pointer to the binary which was executed,
+and appears as a symbolic link.
+A
+.BR readlink (2)
+call on this file under Linux 2.0 returns a string in the format:
+.IP
+.in +4n
+.EX
+[device]:inode
+.EE
+.in
+.IP
+For example, [0301]:1502 would be inode 1502 on device major 03 (IDE,
+MFM, etc. drives) minor 01 (first partition on the first drive).
+.IP
+.BR find (1)
+with the
+.I \-inum
+option can be used to locate the file.
+.SH SEE ALSO
+.BR proc (5)