linprocfs —
Linux process file system
linprocfs /compat/linux/proc linprocfs rw 0 0
The Linux process file system, or
linprocfs, emulates a subset of Linux' process file
system and is required for the complete operation of some Linux
binaries.
The linprocfs provides a two-level view of
process space. At the highest level, processes themselves are named,
according to their process ids in decimal, with no leading zeros. There is
also a special node called self which always refers
to the process making the lookup request.
Each process node is a directory containing several files:
- auxv
- The auxiliary vector passed to the program.
- cmdline
- The command line used to execute the process.
- cwd
- A symbolic link pointing to the current work directory of the
process.
- environ
- The list of environment variables and values of the process. Every
variable and pair value is separated from the next by a NULL byte.
- exe
- A reference to the vnode from which the process text was read. This can be
used to gain access to the process' symbol table, or to start another copy
of the process.
- limits
- The soft and hard limits for the process along with the units used.
- maps
- Memory map of the process.
- mem
- The complete virtual memory image of the process. Only those addresses
which exist in the process can be accessed. Reads and writes to this file
modify the process. Writes to the text segment remain private to the
process.
- mountinfo
- Information about mount points.
- mounts
- Similar to the above.
- oom_score_adj
- Score adjustment for the Out Of Memory killer.
- root
- Symbolic link to the root directory for this process.
- stat
- Process statistics. It includes user, nice, system, idle, iowait, irq,
softirq, steal, guest and guest_nice.
- statm
- Process size statistics. It includes total program size, resident set
size, number of resident shared pages (unused), text size, library size
(unused), data + stack and dirty pages (unused).
- status
- Process statistics in human readable form. It includes process name,
state, PID, etc.
- task
- Dummy directory to avoid problems in specific software such as
Chromium.
Each node is owned by the process's user, and belongs to that
user's primary group, except for the mem node, which
belongs to the kmem group.
- /compat/linux/proc
- The normal mount point for
linprocfs.
- /compat/linux/proc/cmdline
- Contains the path of the kernel image used to boot the system.
- /compat/linux/proc/cpuinfo
- CPU vendor and model information in human-readable form.
- /compat/linux/proc/devices
- List of character and block devices. The later is usually empty on
FreeBSD.
- /compat/linux/proc/filesystems
- List of supported filesystems. For pseudo filesystems, the first column
contains
nodev.
- /compat/linux/proc/meminfo
- System memory information in human-readable form.
- /compat/linux/proc/modules
- Loaded kernel modules. Empty for now.
- /compat/linux/proc/mounts
- Devices corresponding mount points.
- /compat/linux/proc/mtab
- Same as above.
- /compat/linux/proc/partitions
- Partition information including major and minor numbers, number of blocks
and name. The rest of the fields are set to zero.
- /compat/linux/proc/stat
- System statistics. For each cpu it includes at most user time, nice time,
system time and idle time, iowait (time waiting for I/O to complete),
times serving irqs and softirq, steal, guest and guest_nice times that
represent times spent in different modes in a virtualized environment. The
last columns are set to zero. This file also contains brief statistics for
disks, context switches and more.
- /compat/linux/proc/swap
- Information about the swap device if any.
- /compat/linux/proc/uptime
- Time since the last boot and time spent in idle state.
- /compat/linux/proc/version
- Version of the emulated linux system.
- /compat/linux/proc/⟨pid⟩
- A directory containing process information for process
pid.
- /compat/linux/proc/self
- A symlink to a directory containing process information for the current
process.
To mount a linprocfs file system on
/compat/linux/proc:
mount -t linprocfs linprocfs
/compat/linux/proc
The linprocfs first appeared in
FreeBSD 4.0.
The linprocfs was derived from
procfs by Pierre Beyssac.
This manual page was written by Dag-Erling
Smørgrav, based on the
procfs(5) manual page by Garrett
Wollman.