334 lines
8.9 KiB
Groff
334 lines
8.9 KiB
Groff
.\" $NetBSD: mount_procfs.8,v 1.39 2023/04/18 18:42:20 jkoshy Exp $
|
|
.\"
|
|
.\" Copyright (c) 1992, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software donated to Berkeley by
|
|
.\" Jan-Simon Pendry.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)mount_procfs.8 8.3 (Berkeley) 6/1/94
|
|
.\"
|
|
.\"
|
|
.Dd April 18, 2023
|
|
.Dt MOUNT_PROCFS 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm mount_procfs
|
|
.Nd mount the process file system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl o Ar options
|
|
.Pa /proc
|
|
.Pa mount_point
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
command attaches an instance of the process
|
|
namespace to the global filesystem namespace.
|
|
The conventional mount point is
|
|
.Pa /proc .
|
|
The directory specified by
|
|
.Ar mount_point
|
|
is converted to an absolute path before use.
|
|
This command is normally executed by
|
|
.Xr mount 8
|
|
at boot time.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Fl o Cm nolinux
|
|
Do not support nodes which are not part of the original procfs
|
|
implementation but have been added for compatibility with the Linux
|
|
procfs namespace.
|
|
See
|
|
.Sx FILES
|
|
for more information.
|
|
.El
|
|
.Pp
|
|
The root of the process filesystem
|
|
contains an entry for each active process.
|
|
These processes are visible as a directory whose
|
|
name is the process' pid.
|
|
In addition, the special entries
|
|
.Pa curproc
|
|
and
|
|
.Pa self
|
|
reference the current process.
|
|
The
|
|
.Pa self
|
|
symlink appears for compatibility with the Linux procfs implementation.
|
|
.Pp
|
|
Each directory contains several files.
|
|
.Bl -tag -width status
|
|
.It Pa cmdline
|
|
This file is readonly and returns null-terminated strings
|
|
corresponding to the process' command line arguments.
|
|
For a system or zombie process, this file contains only a string
|
|
with the name of the process.
|
|
.It Pa cwd
|
|
A symbolic link that points to the current working directory of the
|
|
process.
|
|
If the target process's current working directory is not available or
|
|
is not at or below the current process's root directory, this link
|
|
will point to
|
|
.Dq / .
|
|
.It Pa fd/#
|
|
File descriptors which can be accessed through the file system.
|
|
See
|
|
.Xr fd 4
|
|
for more information.
|
|
.It Pa file
|
|
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.
|
|
.It Pa map
|
|
A map of the process' virtual memory.
|
|
This file comprises lines describing the memory regions of the process,
|
|
where each line contains the following fields:
|
|
.Pp
|
|
.Bl -tag -compact -width max-protection
|
|
.It start-address
|
|
The starting address of the region (inclusive).
|
|
.It end-address
|
|
The ending address of the region (exclusive).
|
|
.It protection
|
|
The access permissions for the region, represented as
|
|
a three-character string using the characters
|
|
.Sq r ,
|
|
.Sq w
|
|
and
|
|
.Sq x
|
|
to denote read, write, and execute permission respectively.
|
|
The lack of a permission is represented by a
|
|
.Sq - .
|
|
.It max-protection
|
|
The maximum access permissions for the region represented as
|
|
a three character string using the characters
|
|
.Sq r ,
|
|
.Sq w
|
|
and
|
|
.Sq x
|
|
to denote read, write, and execute permission respectively.
|
|
The lack of a permission is represented by a
|
|
.Sq - .
|
|
.It copy-on-write
|
|
Whether the region is copy-on-write.
|
|
One of:
|
|
.Bl -tag -compact -width NCOW
|
|
.It COW
|
|
A region that is copy-on-write.
|
|
.It NCOW
|
|
A region that is not copy-on-write.
|
|
.El
|
|
.It needs-copy
|
|
Whether the region needs a copy.
|
|
One of:
|
|
.Bl -tag -compact -width NNC
|
|
.It NC
|
|
The region needs a copy.
|
|
.It NNC
|
|
The region does not need a copy.
|
|
.El
|
|
.It inheritance
|
|
The inheritance code for the region, as set by
|
|
.Xr minherit 2 .
|
|
.It wired-count
|
|
The wired count for the region.
|
|
The region can be paged out if its wired count is zero.
|
|
.It advice
|
|
The advice value set by a prior call to
|
|
.Xr madvise 2
|
|
for the region.
|
|
.El
|
|
.It Pa maps
|
|
A map of the process' virtual memory in a form like the
|
|
proc filesystem as implemented in Linux.
|
|
This file comprises lines describing the memory regions of
|
|
the process, where each line contains the following fields:
|
|
.Pp
|
|
.Bl -tag -compact -width start-address
|
|
.It start-address
|
|
The starting address of the region (inclusive).
|
|
.It end-address
|
|
The ending address of the region (exclusive).
|
|
.It protection
|
|
The access permissions for the region, represented as
|
|
a three-character string using the characters
|
|
.Sq r ,
|
|
.Sq w
|
|
and
|
|
.Sq x
|
|
to denote read, write, and execute permission respectively.
|
|
The lack of a permission is represented by a
|
|
.Sq - .
|
|
.It copy-on-write
|
|
Whether the region is copy-on-write.
|
|
One of:
|
|
.Bl -tag -compact -width ".Sq p"
|
|
.It Sq p
|
|
The region is copy-on-write.
|
|
.It Sq s
|
|
The region is shared.
|
|
.El
|
|
.It offset
|
|
The offset into the file being mapped by the region.
|
|
.It device-id
|
|
The major and minor number of the device containing the file
|
|
being mapped by the region.
|
|
.It fileid
|
|
The inode for the file associated with the region.
|
|
.It path
|
|
The pathname to the file associated with the region.
|
|
.El
|
|
.It Pa mem
|
|
The complete virtual memory image of the process.
|
|
Only those addresses which exist in the process can be accessed.
|
|
Writes to this file modify the process.
|
|
Writes to the text segment normally remain private to the process,
|
|
since the text segment is mapped with MAP_PRIVATE; however, this is
|
|
not guaranteed.
|
|
.It Pa note
|
|
Not implemented.
|
|
.It Pa notepg
|
|
Not implemented.
|
|
.It Pa regs
|
|
Allows read and write access to the process' register set.
|
|
This file contains a binary data structure
|
|
.Dv "struct regs"
|
|
defined in
|
|
.Pa <machine/reg.h> .
|
|
.Pa regs
|
|
can only be written when the process is stopped.
|
|
.It Pa fpregs
|
|
The floating point registers as defined by
|
|
.Dv "struct fpregs"
|
|
in
|
|
.Pa <machine/reg.h> .
|
|
.Pa fpregs
|
|
is only implemented on machines which have distinct general
|
|
purpose and floating point register sets.
|
|
.It Pa root
|
|
A symbolic link that points to the root directory of the process.
|
|
If the target process's root directory is not available or is not at
|
|
or below the current process's root directory, this link will point to
|
|
.Dq / .
|
|
.It Pa status
|
|
The process status.
|
|
This file is readonly and returns a single line containing
|
|
multiple space-separated fields as follows:
|
|
.Pp
|
|
.Bl -bullet -compact
|
|
.It
|
|
command name
|
|
.It
|
|
process id
|
|
.It
|
|
parent process id
|
|
.It
|
|
process group id
|
|
.It
|
|
session id
|
|
.It
|
|
.Ar major,minor
|
|
of the controlling terminal, or
|
|
.Dv -1,-1
|
|
if there is no controlling terminal.
|
|
.It
|
|
a list of process flags:
|
|
.Dv ctty
|
|
if there is a controlling terminal,
|
|
.Dv sldr
|
|
if the process is a session leader,
|
|
.Dv noflags
|
|
if neither of the other two flags are set.
|
|
.It
|
|
the process start time in seconds and microseconds,
|
|
comma separated.
|
|
.It
|
|
the user time in seconds and microseconds,
|
|
comma separated.
|
|
.It
|
|
the system time in seconds and microseconds,
|
|
comma separated.
|
|
.It
|
|
the wait channel message
|
|
.It
|
|
the process credentials consisting of
|
|
the effective user id
|
|
and the list of groups (whose first member
|
|
is the effective group id)
|
|
all comma separated.
|
|
.El
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /proc/curproc -compact
|
|
.It Pa /proc/#
|
|
.It Pa /proc/#/cmdline
|
|
.It Pa /proc/#/cwd
|
|
.It Pa /proc/#/exe
|
|
.It Pa /proc/#/file
|
|
.It Pa /proc/#/fpregs
|
|
.It Pa /proc/#/map
|
|
.It Pa /proc/#/maps
|
|
.It Pa /proc/#/mem
|
|
.It Pa /proc/#/note
|
|
.It Pa /proc/#/notepg
|
|
.It Pa /proc/#/regs
|
|
.It Pa /proc/#/root
|
|
.It Pa /proc/#/status
|
|
.It Pa /proc/curproc
|
|
.It Pa /proc/self
|
|
.El
|
|
.Pp
|
|
If the
|
|
.Cm linux
|
|
mount option is used, the following files are also available:
|
|
.Pp
|
|
.Bl -tag -width /proc/meminfo -compact
|
|
.It Pa /proc/#/stat
|
|
.It Pa /proc/cpuinfo
|
|
.It Pa /proc/devices
|
|
.It Pa /proc/meminfo
|
|
.It Pa /proc/mounts
|
|
.It Pa /proc/uptime
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr mount 2 ,
|
|
.Xr sigaction 2 ,
|
|
.Xr unmount 2
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
utility first appeared in
|
|
.Bx 4.4 .
|
|
.Sh BUGS
|
|
This filesystem may not be NFS-exported
|
|
since most of the functionality of
|
|
.Dv procfs
|
|
requires that state be maintained.
|