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