xref: /freebsd/share/man/man4/linprocfs.4 (revision 1687d77197c01c6ffd5bb233c7a15c6ebb9319af)
1*1687d771SAlexander Ziaee.\" Written by Garrett Wollman
2*1687d771SAlexander Ziaee.\" This file is in the public domain.
3*1687d771SAlexander Ziaee.\"
4*1687d771SAlexander Ziaee.Dd November 13, 2019
5*1687d771SAlexander Ziaee.Dt LINPROCFS 4
6*1687d771SAlexander Ziaee.Os
7*1687d771SAlexander Ziaee.Sh NAME
8*1687d771SAlexander Ziaee.Nm linprocfs
9*1687d771SAlexander Ziaee.Nd Linux process file system
10*1687d771SAlexander Ziaee.Sh SYNOPSIS
11*1687d771SAlexander Ziaee.Bd -literal
12*1687d771SAlexander Ziaeelinproc		/compat/linux/proc	linprocfs	rw 0 0
13*1687d771SAlexander Ziaee.Ed
14*1687d771SAlexander Ziaee.Sh DESCRIPTION
15*1687d771SAlexander ZiaeeThe Linux process file system, or
16*1687d771SAlexander Ziaee.Nm ,
17*1687d771SAlexander Ziaeeemulates a subset of Linux' process file system and is required for
18*1687d771SAlexander Ziaeethe complete operation of some Linux binaries.
19*1687d771SAlexander Ziaee.Pp
20*1687d771SAlexander ZiaeeThe
21*1687d771SAlexander Ziaee.Nm
22*1687d771SAlexander Ziaeeprovides a two-level view of process space.
23*1687d771SAlexander ZiaeeAt the highest level, processes themselves are named, according to
24*1687d771SAlexander Ziaeetheir process ids in decimal, with no leading zeros.
25*1687d771SAlexander ZiaeeThere is also a special node called
26*1687d771SAlexander Ziaee.Pa self
27*1687d771SAlexander Ziaeewhich always refers to the process making the lookup request.
28*1687d771SAlexander Ziaee.Pp
29*1687d771SAlexander ZiaeeEach node is a directory containing several files:
30*1687d771SAlexander Ziaee.Bl -tag -width status
31*1687d771SAlexander Ziaee.It Pa exe
32*1687d771SAlexander ZiaeeA reference to the vnode from which the process text was read.
33*1687d771SAlexander ZiaeeThis can be used to gain access to the process' symbol table,
34*1687d771SAlexander Ziaeeor to start another copy of the process.
35*1687d771SAlexander Ziaee.It Pa mem
36*1687d771SAlexander ZiaeeThe complete virtual memory image of the process.
37*1687d771SAlexander ZiaeeOnly those addresses which exist in the process can be accessed.
38*1687d771SAlexander ZiaeeReads and writes to this file modify the process.
39*1687d771SAlexander ZiaeeWrites to the text segment remain private to the process.
40*1687d771SAlexander Ziaee.El
41*1687d771SAlexander Ziaee.Pp
42*1687d771SAlexander ZiaeeEach node is owned by the process's user, and belongs to that user's
43*1687d771SAlexander Ziaeeprimary group, except for the
44*1687d771SAlexander Ziaee.Pa mem
45*1687d771SAlexander Ziaeenode, which belongs to the
46*1687d771SAlexander Ziaee.Li kmem
47*1687d771SAlexander Ziaeegroup.
48*1687d771SAlexander Ziaee.Sh FILES
49*1687d771SAlexander Ziaee.Bl -tag -width /compat/linux/proc/self/XXXXXXX -compact
50*1687d771SAlexander Ziaee.It Pa /compat/linux/proc
51*1687d771SAlexander ZiaeeThe normal mount point for the
52*1687d771SAlexander Ziaee.Nm .
53*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/cpuinfo
54*1687d771SAlexander ZiaeeCPU vendor and model information in human-readable form.
55*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/meminfo
56*1687d771SAlexander ZiaeeSystem memory information in human-readable form.
57*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/pid
58*1687d771SAlexander ZiaeeA directory containing process information for process
59*1687d771SAlexander Ziaee.Pa pid .
60*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/self
61*1687d771SAlexander ZiaeeA directory containing process information for the current process.
62*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/self/exe
63*1687d771SAlexander ZiaeeThe executable image for the current process.
64*1687d771SAlexander Ziaee.It Pa /compat/linux/proc/self/mem
65*1687d771SAlexander ZiaeeThe complete virtual address space of the current process.
66*1687d771SAlexander Ziaee.El
67*1687d771SAlexander Ziaee.Sh EXAMPLES
68*1687d771SAlexander ZiaeeTo mount a
69*1687d771SAlexander Ziaee.Nm
70*1687d771SAlexander Ziaeefile system on
71*1687d771SAlexander Ziaee.Pa /compat/linux/proc :
72*1687d771SAlexander Ziaee.Pp
73*1687d771SAlexander Ziaee.Dl "mount -t linprocfs linproc /compat/linux/proc"
74*1687d771SAlexander Ziaee.Sh SEE ALSO
75*1687d771SAlexander Ziaee.Xr mount 2 ,
76*1687d771SAlexander Ziaee.Xr unmount 2 ,
77*1687d771SAlexander Ziaee.Xr linux 4 ,
78*1687d771SAlexander Ziaee.Xr procfs 5 ,
79*1687d771SAlexander Ziaee.Xr pseudofs 9
80*1687d771SAlexander Ziaee.Sh HISTORY
81*1687d771SAlexander ZiaeeThe
82*1687d771SAlexander Ziaee.Nm
83*1687d771SAlexander Ziaeefirst appeared in
84*1687d771SAlexander Ziaee.Fx 4.0 .
85*1687d771SAlexander Ziaee.Sh AUTHORS
86*1687d771SAlexander Ziaee.An -nosplit
87*1687d771SAlexander ZiaeeThe
88*1687d771SAlexander Ziaee.Nm
89*1687d771SAlexander Ziaeewas derived from
90*1687d771SAlexander Ziaee.Nm procfs
91*1687d771SAlexander Ziaeeby
92*1687d771SAlexander Ziaee.An Pierre Beyssac .
93*1687d771SAlexander ZiaeeThis manual page was written by
94*1687d771SAlexander Ziaee.An Dag-Erling Sm\(/orgrav ,
95*1687d771SAlexander Ziaeebased on the
96*1687d771SAlexander Ziaee.Xr procfs 5
97*1687d771SAlexander Ziaeemanual page by
98*1687d771SAlexander Ziaee.An Garrett Wollman .
99