fdab991bb2
Adjust the pri field for ps.1 because a higher pri field means a higher priority. References: procps-ng/procps#115
2075 lines
46 KiB
Groff
2075 lines
46 KiB
Groff
'\" t
|
|
.\" (The preceding line is a note to broken versions of man to tell
|
|
.\" Man page for ps.
|
|
.\" Quick hack conversion by Albert Cahalan, 1998.
|
|
.\" Licensed under version 2 of the Gnu General Public License.
|
|
.\"
|
|
.TH PS "1" "2021-06-16" "procps-ng" "User Commands"
|
|
.\"
|
|
.\" To render this page:
|
|
.\" groff -t -b -man -X -P-resolution -P100 -Tps ps.1 &
|
|
.\" groff -t -b -man -X -TX100 ps.1 &
|
|
.\" tbl ps.1 | troff -Ww -man -z
|
|
.\" groff -t -man -Tps ps.1 | ps2pdf - - > ps.pdf
|
|
.\"
|
|
.\" Ragged-right text.
|
|
.na
|
|
.\" Disable hyphenation.
|
|
.nh
|
|
.\"
|
|
.\" ColSize is used for the format spec table.
|
|
.\" It's the left margin, minus the right, minus
|
|
.\" the space needed for the 1st two columns.
|
|
.\" Making it messy: inches, ens, points, scaled points...
|
|
.\"
|
|
.nr ColSize ((\n[.l] - \n[.i]) / 1n - 29)
|
|
.\"
|
|
.SH NAME
|
|
ps \- report a snapshot of the current processes.
|
|
.SH SYNOPSIS
|
|
\fBps\fR [\fIoptions\fR]
|
|
.PP
|
|
.PP
|
|
.SH DESCRIPTION
|
|
.B ps
|
|
displays information about a selection of the active processes. If you want
|
|
a repetitive update of the selection and the displayed information, use
|
|
.B top
|
|
instead.
|
|
.P
|
|
This version of
|
|
.B ps
|
|
accepts several kinds of options:
|
|
.IP
|
|
.PD 0
|
|
.IP 1 4
|
|
UNIX options, which may be grouped and must be preceded by a dash.
|
|
.IP 2 4
|
|
BSD options, which may be grouped and must not be used with a dash.
|
|
.IP 3 4
|
|
GNU long options, which are preceded by two dashes.
|
|
.PD
|
|
.PP
|
|
Options of different types may be freely mixed, but conflicts can appear.
|
|
There are some synonymous options, which are functionally identical, due to
|
|
the many standards and
|
|
.B ps
|
|
implementations that this
|
|
.B ps
|
|
is compatible with.
|
|
.P
|
|
Note that \fBps \-aux\fR is distinct from \fBps\ aux\fR. The POSIX and
|
|
UNIX standards require that \fBps\ \-aux\fR print all processes owned by a
|
|
user named \fIx\fR, as well as printing all processes that would be selected by
|
|
the
|
|
.B \-a
|
|
option. If the user named \fIx\fR does not exist, this
|
|
.B ps
|
|
may interpret the command as \fBps\ aux\fR instead and print a warning.
|
|
This behavior is intended to aid in transitioning old scripts and habits. It
|
|
is fragile, subject to change, and thus should not be relied upon.
|
|
.P
|
|
By default,
|
|
.B ps
|
|
selects all processes with the same effective user ID (euid=EUID) as the
|
|
current user and associated with the same terminal as the invoker. It
|
|
displays the process ID (pid=PID), the terminal associated with the process
|
|
(tname=TTY), the cumulated CPU time in [DD\-]hh:mm:ss format (time=TIME), and
|
|
the executable name (ucmd=CMD). Output is unsorted by default.
|
|
.P
|
|
The use of BSD\-style options will add process state (stat=STAT) to the
|
|
default display and show the command args (args=COMMAND) instead of the
|
|
executable name. You can override this with the
|
|
.B PS_FORMAT
|
|
environment variable. The use of BSD\-style options will also change the
|
|
process selection to include processes on other terminals (TTYs) that are
|
|
owned by you; alternately, this may be described as setting the selection to
|
|
be the set of all processes filtered to exclude processes owned by other
|
|
users or not on a terminal. These effects are not considered when options
|
|
are described as being "identical" below, so
|
|
.B \-M
|
|
will be considered identical to \fBZ\fR and so on.
|
|
.P
|
|
Except as described below, process selection options are additive. The
|
|
default selection is discarded, and then the selected processes are added to
|
|
the set of processes to be displayed. A process will thus be shown if it
|
|
meets any of the given selection criteria.
|
|
.PP
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH "EXAMPLES"
|
|
.TP 3
|
|
To see every process on the system using standard syntax:
|
|
.B ps\ \-e
|
|
.br
|
|
.B ps\ \-ef
|
|
.br
|
|
.B ps\ \-eF
|
|
.br
|
|
.B ps\ \-ely
|
|
.TP
|
|
To see every process on the system using BSD syntax:
|
|
.B ps\ ax
|
|
.br
|
|
.B ps\ axu
|
|
.TP
|
|
To print a process tree:
|
|
.B ps\ -ejH
|
|
.br
|
|
.B ps\ axjf
|
|
.TP
|
|
To get info about threads:
|
|
.B ps\ -eLf
|
|
.br
|
|
.B ps\ axms
|
|
.TP
|
|
To get security info:
|
|
.B ps\ -eo euser,ruser,suser,fuser,f,comm,label
|
|
.br
|
|
.B ps\ axZ
|
|
.br
|
|
.B ps\ -eM
|
|
.TP
|
|
To see every process running as root (real\ &\ effective\ ID) in user format:
|
|
.B ps\ \-U\ root\ \-u\ root\ u
|
|
.TP
|
|
To see every process with a user\-defined format:
|
|
.B ps\ \-eo\ pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
|
|
.br
|
|
.B ps\ axo\ stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
|
|
.br
|
|
.B ps\ \-Ao\ pid,tt,user,fname,tmout,f,wchan
|
|
.TP
|
|
Print only the process IDs of syslogd:
|
|
.B ps\ \-C\ syslogd\ \-o\ pid=
|
|
.TP
|
|
Print only the name of PID 42:
|
|
.B ps\ \-q\ 42\ \-o\ comm=
|
|
.PP
|
|
.PP
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.SH "SIMPLE PROCESS SELECTION"
|
|
.TP
|
|
.BR a
|
|
Lift the BSD\-style "only yourself" restriction, which is imposed upon the
|
|
set of all processes when some BSD\-style (without "\-") options are used or
|
|
when the
|
|
.B ps
|
|
personality setting is BSD\-like. The set of processes selected in this
|
|
manner is in addition to the set of processes selected by other means. An
|
|
alternate description is that this option causes
|
|
.B ps
|
|
to list all processes with a terminal (tty), or to list all processes when
|
|
used together with the
|
|
.B x
|
|
option.
|
|
.TP
|
|
.B \-A
|
|
Select all processes. Identical to
|
|
.BR \-e .
|
|
.TP
|
|
.B \-a
|
|
Select all processes except both session leaders (see
|
|
.IR getsid (2))
|
|
and processes not associated with a terminal.
|
|
.TP
|
|
.B \-d
|
|
Select all processes except session leaders.
|
|
.TP
|
|
.B \-\-deselect
|
|
Select all processes except those that fulfill the specified conditions
|
|
(negates the selection). Identical to
|
|
.BR \-N .
|
|
.TP
|
|
.B \-e
|
|
Select all processes. Identical to
|
|
.BR \-A .
|
|
.\" Current "g" behavior: add in the session leaders, which would
|
|
.\" be excluded in the sunos4 personality. Supposed "g" behavior:
|
|
.\" add in the group leaders -- at least according to the SunOS 4
|
|
.\" man page on the FreeBSD site. Uh oh. I think I had tested SunOS
|
|
.\" though, so maybe the code is correct.
|
|
.TP
|
|
.B g
|
|
Really all, even session leaders. This flag is obsolete and may be
|
|
discontinued in a future release. It is normally implied by the
|
|
.B a
|
|
flag, and is only useful when operating in the sunos4 personality.
|
|
.TP
|
|
.B \-N
|
|
Select all processes except those that fulfill the specified conditions
|
|
(negates the selection). Identical to
|
|
.BR \-\-deselect .
|
|
.TP
|
|
.B T
|
|
Select all processes associated with this terminal. Identical to the
|
|
.B t
|
|
option without any argument.
|
|
.TP
|
|
.B r
|
|
Restrict the selection to only running processes.
|
|
.TP
|
|
.B x
|
|
Lift the BSD\-style "must have a tty" restriction, which is imposed upon the
|
|
set of all processes when some BSD\-style (without "\-") options are used or
|
|
when the
|
|
.B ps
|
|
personality setting is BSD\-like. The set of processes selected in this
|
|
manner is in addition to the set of processes selected by other means. An
|
|
alternate description is that this option causes
|
|
.B ps
|
|
to list all processes owned by you (same EUID as
|
|
.BR ps ),
|
|
or to list all processes when used together with the
|
|
.B a
|
|
option.
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH "PROCESS SELECTION BY LIST"
|
|
These options accept a single argument in the form of a blank\-separated or
|
|
comma\-separated list. They can be used multiple times. For example:
|
|
\fBps\ \-p\ "1\ 2"\ \-p\ 3,4\fR
|
|
.TP
|
|
.RI \- 123
|
|
Identical to \fB\-\-pid\ \fI123\fR.
|
|
.TP
|
|
.I 123
|
|
Identical to \fB\-\-pid\ \fI123\fR.
|
|
.TP
|
|
.BI \-C \ cmdlist
|
|
Select by command name. This selects the processes whose executable name is
|
|
given in
|
|
.IR cmdlist .
|
|
NOTE: The command name is not the same as the command line. Previous versions
|
|
of procps and the kernel truncated this command name to 15 characters. This
|
|
limitation is no longer present in both. If you depended on matching only
|
|
15 characters, you may no longer get a match.
|
|
.TP
|
|
.BI \-G \ grplist
|
|
Select by real group ID (RGID) or name. This selects the processes whose
|
|
real group name or ID is in the
|
|
.I grplist
|
|
list. The real group ID identifies the group of the user who created the
|
|
process, see
|
|
.IR getgid (2).
|
|
.TP
|
|
.BI \-g \ grplist
|
|
Select by session OR by effective group name. Selection by session is
|
|
specified by many standards, but selection by effective group is the logical
|
|
behavior that several other operating systems use. This
|
|
.B ps
|
|
will select by session when the list is completely numeric (as sessions
|
|
are). Group ID numbers will work only when some group names are also
|
|
specified. See the
|
|
.B \-s
|
|
and
|
|
.B \-\-group
|
|
options.
|
|
.TP
|
|
.BI \-\-Group \ grplist
|
|
Select by real group ID (RGID) or name. Identical to
|
|
.BR \-G .
|
|
.TP
|
|
.BI \-\-group \ grplist
|
|
Select by effective group ID (EGID) or name. This selects the processes
|
|
whose effective group name or ID is in
|
|
.IR grplist .
|
|
The effective group ID describes the group whose file access permissions are
|
|
used by the process (see
|
|
.IR getegid (2)).
|
|
The
|
|
.B \-g
|
|
option is often an alternative to
|
|
.BR \-\-group .
|
|
.TP
|
|
.BI p \ pidlist
|
|
Select by process ID. Identical to
|
|
.B \-p
|
|
and
|
|
.BR \-\-pid .
|
|
.TP
|
|
.BI \-p \ pidlist
|
|
Select by PID. This selects the processes whose process ID numbers appear in
|
|
.IR pidlist .
|
|
Identical to
|
|
.B p
|
|
and
|
|
.BR \-\-pid .
|
|
.TP
|
|
.BI \-\-pid \ pidlist
|
|
Select by process\ ID. Identical to
|
|
.B \-p
|
|
and
|
|
.BR p .
|
|
.TP
|
|
.BI \-\-ppid \ pidlist
|
|
Select by parent process ID. This selects the processes with a parent
|
|
process\ ID in
|
|
.IR pidlist .
|
|
That is, it selects processes that are children of those listed in
|
|
.IR pidlist .
|
|
.TP
|
|
.BI q \ pidlist
|
|
Select by process ID (quick mode). Identical to
|
|
.B \-q
|
|
and
|
|
.BR \-\-quick\-pid .
|
|
.TP
|
|
.BI \-q \ pidlist
|
|
Select by PID (quick mode). This selects the processes whose process ID numbers appear in
|
|
.IR pidlist .
|
|
With this option \fBps\fR reads the necessary info only
|
|
for the pids listed in the \fIpidlist\fR and doesn't apply
|
|
additional filtering rules. The order of pids is unsorted
|
|
and preserved. No additional selection options, sorting
|
|
and forest type listings are allowed in this mode.
|
|
Identical to
|
|
.B q
|
|
and
|
|
.BR \-\-quick\-pid .
|
|
.TP
|
|
.BI \-\-quick\-pid \ pidlist
|
|
Select by process\ ID (quick mode). Identical to
|
|
.B \-q
|
|
and
|
|
.BR q .
|
|
.TP
|
|
.BI \-s \ sesslist
|
|
Select by session ID. This selects the processes with a session ID specified
|
|
in
|
|
.IR sesslist .
|
|
.TP
|
|
.BI \-\-sid \ sesslist
|
|
Select by session\ ID. Identical to
|
|
.BR \-s .
|
|
.TP
|
|
.BI t \ ttylist
|
|
Select by tty. Nearly identical to
|
|
.B \-t
|
|
and
|
|
.BR \-\-tty ,
|
|
but can also
|
|
be used with an empty
|
|
.I ttylist
|
|
to indicate the terminal associated with
|
|
.BR ps .
|
|
Using the
|
|
.B T
|
|
option is considered cleaner than using
|
|
.B t
|
|
with an empty
|
|
.IR ttylist .
|
|
.TP
|
|
.BI \-t \ ttylist
|
|
Select by tty. This selects the processes associated with the terminals
|
|
given in
|
|
.IR ttylist .
|
|
Terminals (ttys, or screens for text output) can be specified in several
|
|
forms: /dev/ttyS1, ttyS1, S1. A plain "\-" may be used to select processes
|
|
not attached to any terminal.
|
|
.TP
|
|
.BI \-\-tty \ ttylist
|
|
Select by terminal. Identical to
|
|
.B \-t
|
|
and
|
|
.BR t .
|
|
.TP
|
|
.BI U \ userlist
|
|
Select by effective user ID (EUID) or name. This selects the processes whose
|
|
effective user name or ID is in
|
|
.IR userlist .
|
|
The effective user ID describes the user whose file access permissions are
|
|
used by the process (see
|
|
.IR geteuid (2)).
|
|
Identical to
|
|
.B \-u
|
|
and
|
|
.BR \-\-user .
|
|
.TP
|
|
.BI \-U \ userlist
|
|
Select by real user ID (RUID) or name. It selects the processes whose real
|
|
user name or ID is in the
|
|
.I userlist
|
|
list. The real user ID identifies the user who created the process, see
|
|
.IR getuid (2).
|
|
.TP
|
|
.BI \-u \ userlist
|
|
Select by effective user ID (EUID) or name. This selects the processes whose
|
|
effective user name or ID is in
|
|
.IR userlist .
|
|
|
|
The effective user ID describes the user whose file
|
|
access permissions are used by the process (see
|
|
.IR geteuid (2)).
|
|
Identical to
|
|
.B U
|
|
and
|
|
.BR \-\-user .
|
|
.TP
|
|
.BI \-\-User \ userlist
|
|
Select by real user ID (RUID) or name. Identical to
|
|
.BR \-U .
|
|
.TP
|
|
.BI \-\-user \ userlist
|
|
Select by effective user ID (EUID) or name. Identical to
|
|
.B \-u
|
|
and
|
|
.BR U .
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH "OUTPUT FORMAT CONTROL"
|
|
These options are used to choose the information displayed by
|
|
.BR ps .
|
|
The output may differ by personality.
|
|
.PP
|
|
.TP
|
|
.B \-c
|
|
Show different scheduler information for the
|
|
.B \-l
|
|
option.
|
|
.TP
|
|
.B \-\-context
|
|
Display security context format (for SELinux).
|
|
.TP
|
|
.B \-f
|
|
Do full\-format listing. This option can be combined with many other
|
|
UNIX\-style options to add additional columns. It also causes the command
|
|
arguments to be printed. When used with
|
|
.BR \-L ,
|
|
the NLWP (number of threads) and LWP (thread ID) columns will be added. See
|
|
the
|
|
.B c
|
|
option, the format keyword
|
|
.BR args ,
|
|
and the format keyword
|
|
.BR comm .
|
|
.TP
|
|
.B \-F
|
|
Extra full format. See the
|
|
.B \-f
|
|
option, which
|
|
.B \-F
|
|
implies.
|
|
.TP
|
|
.BI \-\-format \ format
|
|
user\-defined format. Identical to
|
|
.B \-o
|
|
and
|
|
.BR o .
|
|
.TP
|
|
.B j
|
|
BSD job control format.
|
|
.TP
|
|
.B \-j
|
|
Jobs format.
|
|
.TP
|
|
.B l
|
|
Display BSD long format.
|
|
.TP
|
|
.B \-l
|
|
Long format. The
|
|
.B \-y
|
|
option is often useful with this.
|
|
.TP
|
|
.B \-M
|
|
Add a column of security data. Identical to
|
|
.B Z
|
|
(for SELinux).
|
|
.TP
|
|
.BI O \ format
|
|
is preloaded
|
|
.B o
|
|
(overloaded). The BSD
|
|
.B O
|
|
option can act like
|
|
.B \-O
|
|
(user\-defined output format with some common fields predefined) or can be
|
|
used to specify sort order. Heuristics are used to determine the behavior of
|
|
this option. To ensure that the desired behavior is obtained (sorting or
|
|
formatting), specify the option in some other way (e.g. with
|
|
.B \-O
|
|
or
|
|
.BR \-\-sort ).
|
|
When used as a formatting option, it is identical to
|
|
.BR \-O ,
|
|
with the BSD personality.
|
|
.TP
|
|
.BI \-O \ format
|
|
Like
|
|
.BR \-o ,
|
|
but preloaded with some default columns. Identical to
|
|
\fB\-o\ pid,\:\fIformat\fB,\:state,\:tname,\:time,\:command\fR or
|
|
\fB\-o\ pid,\:\fIformat\fB,\:tname,\:time,\:cmd\fR,
|
|
see
|
|
.B \-o
|
|
below.
|
|
.TP
|
|
.BI o \ format
|
|
Specify user\-defined format. Identical to
|
|
.B \-o
|
|
and
|
|
.BR \-\-format .
|
|
.TP
|
|
.BI \-o \ format
|
|
User\-defined format.
|
|
.I format
|
|
is a single argument in the form of a blank\-separated or comma\-separated
|
|
list, which offers a way to specify individual output columns. The
|
|
recognized keywords are described in the
|
|
.B STANDARD FORMAT SPECIFIERS
|
|
section below. Headers may be renamed
|
|
.RB ( "ps \-o pid,\:ruser=RealUser \-o comm=Command" )
|
|
as desired.
|
|
If all column headers are empty
|
|
.RB ( "ps \-o pid= \-o comm=" )
|
|
then the header line will not be output. Column width will increase as
|
|
needed for wide headers; this may be used to widen up columns such as WCHAN
|
|
.RB ( "ps \-o pid,\:wchan=\:WIDE\-\:WCHAN\-\:COLUMN \-o comm" ).
|
|
Explicit width
|
|
control
|
|
.RB ( "ps opid,\:wchan:42,\:cmd" )
|
|
is offered too. The behavior of
|
|
.B ps -o pid=X,\:comm=Y
|
|
varies with personality; output may be one column named "X,\:comm=Y" or two
|
|
columns named "X" and "Y". Use multiple
|
|
.B \-o
|
|
options when in doubt. Use the
|
|
.B PS_FORMAT
|
|
environment variable to specify a default as desired; DefSysV and DefBSD are
|
|
macros that may be used to choose the default UNIX or BSD columns.
|
|
.TP
|
|
.B s
|
|
Display signal format.
|
|
.TP
|
|
.B u
|
|
Display user\-oriented format.
|
|
.TP
|
|
.B v
|
|
Display virtual memory format.
|
|
.TP
|
|
.B X
|
|
Register format.
|
|
.TP
|
|
.B \-y
|
|
Do not show flags; show rss in place of addr. This option can only be used
|
|
with
|
|
.BR \-l .
|
|
.TP
|
|
.B Z
|
|
Add a column of security data. Identical to
|
|
.B \-M
|
|
(for SELinux).
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH "OUTPUT MODIFIERS"
|
|
.\" .TP
|
|
.\" .B C
|
|
.\" use raw CPU time for %CPU instead of decaying average
|
|
.TP
|
|
.B c
|
|
Show the true command name. This is derived from the name of the executable
|
|
file, rather than from the argv value. Command arguments and any
|
|
modifications to them are thus not shown. This option effectively turns the
|
|
.B args
|
|
format keyword into the
|
|
.B comm
|
|
format keyword; it is useful with the
|
|
.B \-f
|
|
format option and with the various BSD\-style format options, which all
|
|
normally display the command arguments. See the
|
|
.B \-f
|
|
option, the format
|
|
keyword
|
|
.BR args ,
|
|
and the format keyword
|
|
.BR comm .
|
|
.TP
|
|
.BI \-\-cols \ n
|
|
Set screen width.
|
|
.TP
|
|
.BI \-\-columns \ n
|
|
Set screen width.
|
|
.TP
|
|
.B \-\-cumulative
|
|
Include some dead child process data (as a sum with the parent).
|
|
.TP
|
|
.B e
|
|
Show the environment after the command.
|
|
.TP
|
|
.B f
|
|
ASCII art process hierarchy (forest).
|
|
.TP
|
|
.B \-\-forest
|
|
ASCII art process tree.
|
|
.TP
|
|
.B h
|
|
No header. (or, one header per screen in the BSD personality). The
|
|
.B h
|
|
option is problematic. Standard BSD
|
|
.B ps
|
|
uses this option to print a header on each page of output, but older Linux
|
|
.B ps
|
|
uses this option to totally disable the header. This version of
|
|
.B ps
|
|
follows the Linux usage of not printing the header unless the BSD personality
|
|
has been selected, in which case it prints a header on each page of output.
|
|
Regardless of the current personality, you can use the long options
|
|
.B \-\-headers
|
|
and
|
|
.B \-\-no\-headers
|
|
to enable printing headers each page or disable headers entirely,
|
|
respectively.
|
|
.TP
|
|
.B \-H
|
|
Show process hierarchy (forest).
|
|
.TP
|
|
.B \-\-headers
|
|
Repeat header lines, one per page of output.
|
|
.TP
|
|
.BI k \ spec
|
|
Specify sorting order. Sorting syntax is
|
|
[\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]].
|
|
Choose a multi\-letter key from the
|
|
.B STANDARD FORMAT SPECIFIERS
|
|
section. The "+" is optional since default direction is increasing
|
|
numerical or lexicographic order. Identical to
|
|
.BR \-\-sort .
|
|
.RS 8
|
|
.IP
|
|
Examples:
|
|
.br
|
|
.B ps jaxkuid,\-ppid,+pid
|
|
.br
|
|
.B ps axk comm o comm,args
|
|
.br
|
|
.B ps kstart_time \-ef
|
|
.RE
|
|
.TP
|
|
.BI \-\-lines \ n
|
|
Set screen height.
|
|
.TP
|
|
.B n
|
|
Numeric output for WCHAN and USER (including all types of UID and GID).
|
|
.TP
|
|
.B \-\-no\-headers
|
|
Print no header line at all.
|
|
.B \-\-no\-heading
|
|
is an alias for this option.
|
|
.TP
|
|
.BI O \ order
|
|
Sorting order (overloaded).
|
|
The BSD
|
|
.B O
|
|
option can act like
|
|
.B \-O
|
|
(user\-defined output format with some common fields predefined) or can be
|
|
used to specify sort order. Heuristics are used to determine the behavior of
|
|
this option. To ensure that the desired behavior is obtained (sorting or
|
|
formatting), specify the option in some other way (e.g. with
|
|
.B \-O
|
|
or
|
|
.BR \-\-sort ).
|
|
.IP
|
|
For sorting, obsolete BSD
|
|
.B O
|
|
option syntax is
|
|
\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]].
|
|
It orders the processes listing according to the multilevel sort specified by
|
|
the sequence of one\-letter short keys
|
|
.IR k1 , k2 ", ..."
|
|
described in the
|
|
.B OBSOLETE SORT KEYS
|
|
section below. The\ "+" is currently optional, merely re\-iterating the
|
|
default direction on a key, but may help to distinguish an
|
|
.B O
|
|
sort from an
|
|
.B O
|
|
format. The "\-" reverses direction only on the key it precedes.
|
|
.TP
|
|
.BI \-\-rows \ n
|
|
Set screen height.
|
|
.TP
|
|
.B S
|
|
Sum up some information, such as CPU usage, from dead child processes into
|
|
their parent. This is useful for examining a system where a parent process
|
|
repeatedly forks off short\-lived children to do work.
|
|
.TP
|
|
.BI \-\-sort \ spec
|
|
Specify sorting order. Sorting syntax is
|
|
[\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]. Choose a
|
|
multi\-letter key from the
|
|
.B STANDARD FORMAT SPECIFIERS
|
|
section. The "+" is optional since default direction is increasing numerical
|
|
or lexicographic order. Identical to
|
|
.BR k .
|
|
For example:
|
|
.B ps jax \-\-sort=\:uid,\:\-ppid,\:+pid
|
|
.TP
|
|
.B w
|
|
Wide output. Use this option twice for unlimited width.
|
|
.TP
|
|
.B \-w
|
|
Wide output. Use this option twice for unlimited width.
|
|
.TP
|
|
.BI \-\-width \ n
|
|
Set screen width.
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH "THREAD DISPLAY"
|
|
.TP
|
|
.B H
|
|
Show threads as if they were processes.
|
|
.TP
|
|
.B \-L
|
|
Show threads, possibly with LWP and NLWP columns.
|
|
.TP
|
|
.B m
|
|
Show threads after processes.
|
|
.TP
|
|
.B \-m
|
|
Show threads after processes.
|
|
.TP
|
|
.B \-T
|
|
Show threads, possibly with SPID column.
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH "OTHER INFORMATION"
|
|
.TP
|
|
.BI \-\-help \ section
|
|
Print a help message. The \fIsection\fR argument can be one of
|
|
.IR s imple,
|
|
.IR l ist,
|
|
.IR o utput,
|
|
.IR t hreads,
|
|
.IR m "isc, or"
|
|
.IR a ll.
|
|
The argument can be shortened to one of the underlined letters as in:
|
|
s\^|\^l\^|\^o\^|\^t\^|\^m\^|\^a.
|
|
.TP
|
|
.B \-\-info
|
|
Print debugging info.
|
|
.TP
|
|
.B L
|
|
List all format specifiers.
|
|
.TP
|
|
.B V
|
|
Print the procps-ng version.
|
|
.TP
|
|
.B \-V
|
|
Print the procps-ng version.
|
|
.TP
|
|
.B \-\-version
|
|
Print the procps-ng version.
|
|
.\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
.PD
|
|
.PP
|
|
.SH NOTES
|
|
This
|
|
.B ps
|
|
works by reading the virtual files in /proc. This
|
|
.B ps
|
|
does not need to be setuid kmem or have any privileges to run. Do not give
|
|
this
|
|
.B ps
|
|
any special permissions.
|
|
.PP
|
|
.PP
|
|
CPU usage is currently expressed as the percentage of time spent running
|
|
during the entire lifetime of a process. This is not ideal, and\ it does not
|
|
conform to the standards that
|
|
.B ps
|
|
otherwise conforms to. CPU usage is unlikely to add up to exactly 100%.
|
|
.PP
|
|
The SIZE and RSS fields don't count some parts of a process including the
|
|
page tables, kernel stack, struct thread_info, and struct task_struct. This
|
|
is usually at least 20 KiB of memory that is always resident. SIZE is the
|
|
virtual size of the process (code+\:data+\:stack).
|
|
.PP
|
|
Processes marked <defunct> are dead processes (so\-called "zombies") that
|
|
remain because their parent has not destroyed them properly. These processes
|
|
will be destroyed by
|
|
.IR init (8)
|
|
if the parent process exits.
|
|
.PP
|
|
If the length of the username is greater than the length of the display
|
|
column, the username will be truncated. See the \fB\-o\fR and \fB\-O\fR
|
|
formatting options to customize length.
|
|
.PP
|
|
Commands options such as
|
|
.B ps \-aux
|
|
are not recommended as it is a confusion of two different standards.
|
|
According to the POSIX and UNIX standards, the above command asks to
|
|
display all processes with a TTY (generally the commands users are
|
|
running) plus all processes owned by a user named \fIx\fR. If that user
|
|
doesn't exist, then
|
|
.B ps
|
|
will assume you really meant \fBps aux\fR.
|
|
.SH "PROCESS FLAGS"
|
|
The sum of these values is displayed in the "F" column,
|
|
which is provided by the
|
|
.B flags
|
|
output specifier:
|
|
.IP
|
|
.RS 8
|
|
.PD 0
|
|
.TP 5
|
|
1
|
|
forked but didn't exec
|
|
.TP
|
|
4
|
|
used super\-user privileges
|
|
.PD
|
|
.RE
|
|
.PP
|
|
.SH "PROCESS STATE CODES"
|
|
Here are the different values that the
|
|
.BR s , \ stat \ and \ state
|
|
output specifiers (header "STAT" or "S") will display to describe the state
|
|
of a process:
|
|
.IP
|
|
.RS 8
|
|
.PD 0
|
|
.TP 5
|
|
D
|
|
uninterruptible sleep (usually IO)
|
|
.TP
|
|
I
|
|
Idle kernel thread
|
|
.TP
|
|
R
|
|
running or runnable (on run queue)
|
|
.TP
|
|
S
|
|
interruptible sleep (waiting for an event to complete)
|
|
.TP
|
|
T
|
|
stopped by job control signal
|
|
.TP
|
|
t
|
|
stopped by debugger during the tracing
|
|
.TP
|
|
W
|
|
paging (not valid since the 2.6.xx kernel)
|
|
.TP
|
|
X
|
|
dead (should never be seen)
|
|
.TP
|
|
Z
|
|
defunct ("zombie") process, terminated but not reaped by its parent
|
|
.PD
|
|
.RE
|
|
.PP
|
|
For BSD formats and when the
|
|
.B stat
|
|
keyword is used, additional characters may be displayed:
|
|
.IP
|
|
.RS 8
|
|
.PD 0
|
|
.TP 5
|
|
<
|
|
high\-priority (not nice to other users)
|
|
.TP
|
|
N
|
|
low\-priority (nice to other users)
|
|
.TP
|
|
L
|
|
has pages locked into memory (for real\-time and custom IO)
|
|
.TP
|
|
s
|
|
is a session leader
|
|
.TP
|
|
l
|
|
is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
|
|
.TP
|
|
+
|
|
is in the foreground process group
|
|
.PD
|
|
.RE
|
|
.PP
|
|
.SH "OBSOLETE SORT KEYS"
|
|
These keys are used by the BSD
|
|
.B O
|
|
option (when it is used for sorting). The GNU
|
|
.B \-\-sort
|
|
option doesn't use these keys, but the specifiers described below in the
|
|
.B STANDARD FORMAT SPECIFIERS
|
|
section. Note that the values used in sorting are the internal values
|
|
.B ps
|
|
uses and not the "cooked" values used in some of the output format fields
|
|
(e.g. sorting on tty will sort into device number, not according to the
|
|
terminal name displayed). Pipe
|
|
.B ps
|
|
output into the
|
|
.BR sort (1)
|
|
command if you want to sort the cooked values.
|
|
.TS
|
|
l l lw(3i).
|
|
\fBKEY LONG DESCRIPTION\fR
|
|
c cmd simple name of executable
|
|
C pcpu cpu utilization
|
|
f flags flags as in long format F field
|
|
g pgrp process group ID
|
|
G tpgid controlling tty process group ID
|
|
j cutime cumulative user time
|
|
J cstime cumulative system time
|
|
k utime user time
|
|
m min_flt number of minor page faults
|
|
M maj_flt number of major page faults
|
|
n cmin_flt cumulative minor page faults
|
|
N cmaj_flt cumulative major page faults
|
|
o session session ID
|
|
p pid process ID
|
|
P ppid parent process ID
|
|
r rss resident set size
|
|
R resident resident pages
|
|
s size memory size in kilobytes
|
|
S share amount of shared pages
|
|
t tty the device number of the controlling tty
|
|
T start_time time process was started
|
|
U uid user ID number
|
|
u user user name
|
|
v vsize total VM size in KiB
|
|
y priority kernel scheduling priority
|
|
.\"K stime system time (conflict, system vs. start time)
|
|
.TE
|
|
.PP
|
|
.PP
|
|
.SH "AIX FORMAT DESCRIPTORS"
|
|
This
|
|
.B ps
|
|
supports AIX format descriptors, which work somewhat like the
|
|
formatting codes of
|
|
.IR printf (1)
|
|
and
|
|
.IR printf (3).
|
|
For example, the normal default output can be produced with this:
|
|
\fBps \-eo "%p %y %x %c"\fR.
|
|
The
|
|
.B NORMAL
|
|
codes are described in the next section.
|
|
.TS
|
|
l l l.
|
|
\fBCODE NORMAL HEADER\fR
|
|
%C pcpu %CPU
|
|
%G group GROUP
|
|
%P ppid PPID
|
|
%U user USER
|
|
%a args COMMAND
|
|
%c comm COMMAND
|
|
%g rgroup RGROUP
|
|
%n nice NI
|
|
%p pid PID
|
|
%r pgid PGID
|
|
%t etime ELAPSED
|
|
%u ruser RUSER
|
|
%x time TIME
|
|
%y tty TTY
|
|
%z vsz VSZ
|
|
.TE
|
|
.SH "STANDARD FORMAT SPECIFIERS"
|
|
Here are the different keywords that may be used to control the output
|
|
format (e.g. with option
|
|
.BR \-o )
|
|
or to sort the selected processes with the GNU\-style
|
|
.B \-\-sort
|
|
option.
|
|
.PP
|
|
For example:
|
|
.B ps \-eo pid,\:user,\:args \-\-sort user
|
|
.PP
|
|
This version of
|
|
.B ps
|
|
tries to recognize most of the keywords used in other implementations of
|
|
.BR ps .
|
|
.PP
|
|
The following user\-defined format specifiers may contain
|
|
spaces:
|
|
.BR args , \ cmd , \ comm , \ command , \ fname , \ ucmd , \ ucomm ,
|
|
.BR lstart , \ bsdstart , \ start .
|
|
.PP
|
|
Some keywords may not be available for sorting.
|
|
|
|
.\" #######################################################################
|
|
.\" lB1 lB1 lB1 lB1 s s s
|
|
.\" lB1 l1 l1 l1 s s s.
|
|
.\"
|
|
.\" lB1 lB1 lBw(5.5i)
|
|
.\" lB1 l1 l.
|
|
.\"
|
|
.TS
|
|
expand;
|
|
lB1 lB1 lBw(\n[ColSize]n)
|
|
lB1 l1 l.
|
|
CODE HEADER DESCRIPTION
|
|
|
|
%cpu %CPU T{
|
|
cpu utilization of the process in "##.#" format. Currently, it is the CPU
|
|
time used divided by the time the process has been running (cputime/realtime
|
|
ratio), expressed as a percentage. It will not add up to 100% unless you are
|
|
lucky. (alias
|
|
.BR pcpu ).
|
|
T}
|
|
|
|
%mem %MEM T{
|
|
ratio of the process's resident set size to the physical memory on the
|
|
machine, expressed as a percentage. (alias
|
|
.BR pmem ).
|
|
T}
|
|
|
|
ag_id AGID T{
|
|
The autogroup identifier associated with a process which operates in conjunction
|
|
with the CFS scheduler to improve interactive desktop performance.
|
|
T}
|
|
|
|
ag_nice AGNI T{
|
|
The autogroup nice value which affects scheduling of all processes in that group.
|
|
T}
|
|
|
|
args COMMAND T{
|
|
command with all its arguments as a string. Modifications to the arguments
|
|
may be shown. The output in this column may contain spaces. A process
|
|
marked <defunct> is partly dead, waiting to be fully destroyed by its parent.
|
|
Sometimes the process args will be unavailable; when this happens,
|
|
.B ps
|
|
will instead print the executable name in brackets. (alias
|
|
.BR cmd , \ command ).
|
|
See also the
|
|
.B comm
|
|
format keyword, the
|
|
.B \-f
|
|
option, and the
|
|
.B c
|
|
option.
|
|
.br
|
|
When specified last, this column will extend to the edge of the display. If
|
|
.B ps
|
|
can not determine display width, as when output is redirected (piped) into a
|
|
file or another command, the output width is undefined (it may be 80,
|
|
unlimited, determined by the
|
|
.B TERM
|
|
variable, and so on). The
|
|
.B COLUMNS
|
|
environment variable or
|
|
.B \-\-cols
|
|
option may be used to exactly determine the width in this case. The
|
|
.B w
|
|
or
|
|
.B \-w
|
|
option may be also be used to adjust width.
|
|
T}
|
|
|
|
blocked BLOCKED T{
|
|
mask of the blocked signals, see
|
|
.IR signal (7).
|
|
According to the width of the field, a 32 or 64\-bit mask in hexadecimal
|
|
format is displayed. (alias
|
|
.BR sig_block , \ sigmask ).
|
|
T}
|
|
|
|
bsdstart START T{
|
|
time the command started. If the process was started less than 24 hours ago,
|
|
the output format is "\ HH:MM", else it is " Mmm:SS" (where Mmm is the three
|
|
letters of the month). See also
|
|
.BR lstart , \ start , \ start_time ", and" \ stime .
|
|
T}
|
|
|
|
bsdtime TIME T{
|
|
accumulated cpu time, user + system. The display format is usually
|
|
"MMM:SS", but can be shifted to the right if the process used more than 999
|
|
minutes of cpu time.
|
|
T}
|
|
|
|
c C T{
|
|
processor utilization. Currently, this is the integer value of the percent
|
|
usage over the lifetime of the process. (see
|
|
.BR %cpu ).
|
|
T}
|
|
|
|
caught CAUGHT T{
|
|
mask of the caught signals, see
|
|
.IR signal (7).
|
|
According to the width of the field, a 32 or 64 bits mask in hexadecimal
|
|
format is displayed. (alias
|
|
.BR sig_catch , \ sigcatch ).
|
|
T}
|
|
|
|
cgname CGNAME T{
|
|
display name of control groups to which the process belongs.
|
|
T}
|
|
|
|
cgroup CGROUP T{
|
|
display control groups to which the process belongs.
|
|
T}
|
|
|
|
class CLS T{
|
|
scheduling class of the process. (alias
|
|
.BR policy , \ cls ).
|
|
Field's possible values are:
|
|
.IP "" 2
|
|
\- not reported
|
|
.br
|
|
TS SCHED_OTHER
|
|
.br
|
|
FF SCHED_FIFO
|
|
.br
|
|
RR SCHED_RR
|
|
.br
|
|
B SCHED_BATCH
|
|
.br
|
|
ISO SCHED_ISO
|
|
.br
|
|
IDL SCHED_IDLE
|
|
.br
|
|
DLN SCHED_DEADLINE
|
|
.br
|
|
? unknown value
|
|
T}
|
|
|
|
cls CLS T{
|
|
scheduling class of the process. (alias
|
|
.BR policy , \ cls ).
|
|
Field's possible values are:
|
|
.IP "" 2
|
|
\- not reported
|
|
.br
|
|
TS SCHED_OTHER
|
|
.br
|
|
FF SCHED_FIFO
|
|
.br
|
|
RR SCHED_RR
|
|
.br
|
|
B SCHED_BATCH
|
|
.br
|
|
ISO SCHED_ISO
|
|
.br
|
|
IDL SCHED_IDLE
|
|
.br
|
|
DLN SCHED_DEADLINE
|
|
.br
|
|
? unknown value
|
|
T}
|
|
|
|
cmd CMD T{
|
|
see
|
|
.BR args .
|
|
(alias
|
|
.BR args , \ command ).
|
|
T}
|
|
|
|
comm COMMAND T{
|
|
command name (only the executable name). Modifications to the command name
|
|
will not be shown. A process marked <defunct> is partly dead, waiting to be
|
|
fully destroyed by its parent. The output in this column may contain spaces.
|
|
(alias
|
|
.BR ucmd , \ ucomm ).
|
|
See also the
|
|
.B args
|
|
format keyword, the
|
|
.B \-f
|
|
option, and the
|
|
.B c
|
|
option.
|
|
.br
|
|
When specified last, this column will extend to the edge of the display. If
|
|
.B ps
|
|
can not determine display width, as when output is redirected (piped) into a
|
|
file or another command, the output width is undefined (it may be 80,
|
|
unlimited, determined by the
|
|
.B TERM
|
|
variable, and so on). The
|
|
.B COLUMNS
|
|
environment variable or
|
|
.B \-\-cols
|
|
option may be used to exactly determine the width in this case. The
|
|
.BR w \ or \ \-w
|
|
option may be also be used to adjust width.
|
|
T}
|
|
|
|
command COMMAND T{
|
|
See
|
|
.BR args .
|
|
(alias
|
|
.BR args , \ command ).
|
|
T}
|
|
|
|
cp CP T{
|
|
per\-mill (tenths of a percent) CPU usage. (see
|
|
.BR %cpu ).
|
|
T}
|
|
|
|
cputime TIME T{
|
|
cumulative CPU time, "[DD\-]hh:mm:ss" format. (alias
|
|
.BR time ).
|
|
T}
|
|
|
|
cputimes TIME T{
|
|
cumulative CPU time in seconds (alias
|
|
.BR times ).
|
|
T}
|
|
|
|
drs DRS T{
|
|
data resident set size, the amount of physical memory devoted to other than
|
|
executable code.
|
|
T}
|
|
|
|
egid EGID T{
|
|
effective group ID number of the process as a decimal integer. (alias
|
|
.BR gid ).
|
|
T}
|
|
|
|
egroup EGROUP T{
|
|
effective group ID of the process. This will be the textual group ID, if it
|
|
can be obtained and the field width permits, or a decimal representation
|
|
otherwise. (alias
|
|
.BR group ).
|
|
T}
|
|
|
|
eip EIP T{
|
|
instruction pointer.
|
|
T}
|
|
|
|
esp ESP T{
|
|
stack pointer.
|
|
T}
|
|
|
|
etime ELAPSED T{
|
|
elapsed time since the process was started, in the form [[DD\-]hh:]mm:ss.
|
|
T}
|
|
|
|
etimes ELAPSED T{
|
|
elapsed time since the process was started, in seconds.
|
|
T}
|
|
|
|
euid EUID T{
|
|
effective user ID (alias
|
|
.BR uid ).
|
|
T}
|
|
|
|
euser EUSER T{
|
|
effective user name. This will be the textual user ID, if it can be obtained
|
|
and the field width permits, or a decimal representation otherwise. The
|
|
.B n
|
|
option can be used to force the decimal representation. (alias
|
|
.BR uname , \ user ).
|
|
T}
|
|
|
|
exe EXE T{
|
|
path to the executable. Useful if path cannot be printed via
|
|
.BR cmd ", " comm
|
|
or
|
|
.BR args
|
|
format options.
|
|
T}
|
|
|
|
f F T{
|
|
flags associated with the process, see the
|
|
.B PROCESS FLAGS
|
|
section. (alias
|
|
.BR flag , \ flags ).
|
|
T}
|
|
|
|
fgid FGID T{
|
|
filesystem access group\ ID. (alias
|
|
.BR fsgid ).
|
|
T}
|
|
|
|
fgroup FGROUP T{
|
|
filesystem access group ID. This will be the textual group ID, if it can
|
|
be obtained and the field width permits, or a decimal representation
|
|
otherwise. (alias
|
|
.BR fsgroup ).
|
|
T}
|
|
|
|
flag F T{
|
|
see
|
|
.BR f .
|
|
(alias
|
|
.BR f , \ flags ).
|
|
T}
|
|
|
|
flags F T{
|
|
see
|
|
.BR f .
|
|
(alias
|
|
.BR f , \ flag ).
|
|
T}
|
|
|
|
fname COMMAND T{
|
|
first 8 bytes of the base name of the process's executable file. The output
|
|
in this column may contain spaces.
|
|
T}
|
|
|
|
fuid FUID T{
|
|
filesystem access user ID. (alias
|
|
.BR fsuid ).
|
|
T}
|
|
|
|
fuser FUSER T{
|
|
filesystem access user ID. This will be the textual user ID, if it can be
|
|
obtained and the field width permits, or a decimal representation otherwise.
|
|
T}
|
|
|
|
gid GID T{
|
|
see
|
|
.BR egid .
|
|
(alias
|
|
.BR egid ).
|
|
T}
|
|
|
|
group GROUP T{
|
|
see
|
|
.BR egroup .
|
|
(alias
|
|
.BR egroup ).
|
|
T}
|
|
|
|
ignored IGNORED T{
|
|
mask of the ignored signals, see
|
|
.IR signal (7).
|
|
According to the width of the field, a 32 or 64 bits mask in hexadecimal
|
|
format is displayed. (alias
|
|
.BR sig_ignore , \ sigignore ).
|
|
T}
|
|
|
|
ipcns IPCNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
label LABEL T{
|
|
security label, most commonly used for SELinux context data. This is for
|
|
the
|
|
.I Mandatory Access Control
|
|
("MAC") found on high\-security systems.
|
|
T}
|
|
|
|
lstart STARTED T{
|
|
time the command started. See also
|
|
.BR bsdstart , \ start , \ start_time ", and" \ stime .
|
|
T}
|
|
|
|
lsession SESSION T{
|
|
displays the login session identifier of a process,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
luid LUID T{
|
|
displays Login ID associated with a process.
|
|
T}
|
|
|
|
lwp LWP T{
|
|
light weight process (thread) ID of the dispatchable entity (alias
|
|
.BR spid , \ tid ).
|
|
See
|
|
.B tid
|
|
for additional information.
|
|
T}
|
|
|
|
lxc LXC T{
|
|
The name of the lxc container within which a task is running.
|
|
If a process is not running inside a container, a dash ('\-') will be shown.
|
|
T}
|
|
|
|
machine MACHINE T{
|
|
displays the machine name for processes assigned to VM or container,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
maj_flt MAJFLT T{
|
|
The number of major page faults that have occurred with this process.
|
|
T}
|
|
|
|
min_flt MINFLT T{
|
|
The number of minor page faults that have occurred with this process.
|
|
T}
|
|
|
|
mntns MNTNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
netns NETNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
ni NI T{
|
|
nice value. This ranges from 19 (nicest) to \-20 (not nice to others),
|
|
see
|
|
.IR nice (1).
|
|
(alias
|
|
.BR nice ).
|
|
T}
|
|
|
|
nice NI T{
|
|
see
|
|
.BR ni . (alias
|
|
.BR ni ).
|
|
T}
|
|
|
|
nlwp NLWP T{
|
|
number of lwps (threads) in the process. (alias
|
|
.BR thcount ).
|
|
T}
|
|
|
|
numa NUMA T{
|
|
The node associated with the most recently used processor.
|
|
A \fI\-1\fR means that NUMA information is unavailable.
|
|
T}
|
|
|
|
nwchan WCHAN T{
|
|
address of the kernel function where the process is sleeping (use
|
|
.B wchan
|
|
if you want the kernel function name).
|
|
T}
|
|
|
|
oom OOM T{
|
|
Out of Memory Score. The value, ranging from 0 to +1000, used to select
|
|
task(s) to kill when memory is exhausted.
|
|
T}
|
|
|
|
oomadj OOMADJ T{
|
|
Out of Memory Adjustment Factor. The value is added to the current out of
|
|
memory score which is then used to determine which task to kill when memory
|
|
is exhausted.
|
|
T}
|
|
|
|
ouid OWNER T{
|
|
displays the Unix user identifier of the owner of the session of a process,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
pcpu %CPU T{
|
|
see
|
|
.BR %cpu .
|
|
(alias
|
|
.BR %cpu ).
|
|
T}
|
|
|
|
pending PENDING T{
|
|
mask of the pending signals. See
|
|
.IR signal (7).
|
|
Signals pending on the process are distinct from signals pending on
|
|
individual threads. Use the
|
|
.B m
|
|
option or the
|
|
.B \-m
|
|
option to see both. According to the width of the field, a 32 or 64 bits
|
|
mask in hexadecimal format is displayed. (alias
|
|
.BR sig ).
|
|
T}
|
|
|
|
pgid PGID T{
|
|
process group ID or, equivalently, the process ID of the process group
|
|
leader. (alias
|
|
.BR pgrp ).
|
|
T}
|
|
|
|
pgrp PGRP T{
|
|
see
|
|
.BR pgid .
|
|
(alias
|
|
.BR pgid ).
|
|
T}
|
|
|
|
pid PID T{
|
|
a number representing the process ID (alias
|
|
.BR tgid ).
|
|
T}
|
|
|
|
pidns PIDNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
pmem %MEM T{
|
|
see
|
|
.BR %mem .
|
|
(alias
|
|
.BR %mem ).
|
|
T}
|
|
|
|
policy POL T{
|
|
scheduling class of the process. (alias
|
|
.BR class , \ cls ).
|
|
Possible values are:
|
|
.IP "" 2
|
|
\- not reported
|
|
.br
|
|
TS SCHED_OTHER
|
|
.br
|
|
FF SCHED_FIFO
|
|
.br
|
|
RR SCHED_RR
|
|
.br
|
|
B SCHED_BATCH
|
|
.br
|
|
ISO SCHED_ISO
|
|
.br
|
|
IDL SCHED_IDLE
|
|
.br
|
|
DLN SCHED_DEADLINE
|
|
.br
|
|
? unknown value
|
|
T}
|
|
|
|
ppid PPID T{
|
|
parent process ID.
|
|
T}
|
|
|
|
pri PRI T{
|
|
priority of the process. Higher number means higher priority.
|
|
T}
|
|
|
|
psr PSR T{
|
|
processor that process last executed on.
|
|
T}
|
|
|
|
pss PSS T{
|
|
Proportional share size, the non-swapped physical memory, with shared memory
|
|
proportionally accounted to all tasks mapping it.
|
|
T}
|
|
|
|
rbytes RBYTES T{
|
|
Number of bytes which this process really did cause to be fetched from the storage layer.
|
|
T}
|
|
|
|
rchars RCHARS T{
|
|
Number of bytes which this task has caused to be read from storage.
|
|
T}
|
|
|
|
rgid RGID T{
|
|
real group ID.
|
|
T}
|
|
|
|
rgroup RGROUP T{
|
|
real group name. This will be the textual group ID, if it can be obtained
|
|
and the field width permits, or a decimal representation otherwise.
|
|
T}
|
|
|
|
rops ROPS T{
|
|
Number of read I/O operations—that is, system calls such as
|
|
.BR read "(2) and " pread (2).
|
|
T}
|
|
|
|
rss RSS T{
|
|
resident set size, the non\-swapped physical memory that a task has used (in
|
|
kiloBytes). (alias
|
|
.BR rssize , \ rsz ).
|
|
T}
|
|
|
|
rssize RSS T{
|
|
see
|
|
.BR rss .
|
|
(alias
|
|
.BR rss , \ rsz ).
|
|
T}
|
|
|
|
rsz RSZ T{
|
|
see
|
|
.BR rss .
|
|
(alias
|
|
.BR rss , \ rssize ).
|
|
T}
|
|
|
|
rtprio RTPRIO T{
|
|
realtime priority.
|
|
T}
|
|
|
|
ruid RUID T{
|
|
real user ID.
|
|
T}
|
|
|
|
ruser RUSER T{
|
|
real user ID. This will be the textual user ID, if it can be obtained and
|
|
the field width permits, or a decimal representation otherwise.
|
|
T}
|
|
|
|
s S T{
|
|
minimal state display (one character). See section
|
|
.B PROCESS STATE CODES
|
|
for the different values. See also
|
|
.B stat
|
|
if you want additional information displayed. (alias
|
|
.BR state ).
|
|
T}
|
|
|
|
sched SCH T{
|
|
scheduling policy of the process. The policies SCHED_OTHER (SCHED_NORMAL),
|
|
SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, SCHED_IDLE and SCHED_DEADLINE are
|
|
respectively displayed as 0, 1, 2, 3, 4, 5 and 6.
|
|
T}
|
|
|
|
seat SEAT T{
|
|
displays the identifier associated with all hardware devices assigned
|
|
to a specific workplace,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
sess SESS T{
|
|
session ID or, equivalently, the process ID of the session leader. (alias
|
|
.BR session , \ sid ).
|
|
T}
|
|
|
|
sgi_p P T{
|
|
processor that the process is currently executing on. Displays "*" if the
|
|
process is not currently running or runnable.
|
|
T}
|
|
|
|
sgid SGID T{
|
|
saved group ID. (alias
|
|
.BR svgid ).
|
|
T}
|
|
|
|
sgroup SGROUP T{
|
|
saved group name. This will be the textual group ID, if it can be obtained
|
|
and the field width permits, or a decimal representation otherwise.
|
|
T}
|
|
|
|
sid SID T{
|
|
see
|
|
.BR sess .
|
|
(alias
|
|
.BR sess , \ session ).
|
|
T}
|
|
|
|
sig PENDING T{
|
|
see
|
|
.BR pending .
|
|
(alias
|
|
.BR pending , \ sig_pend ).
|
|
T}
|
|
|
|
sigcatch CAUGHT T{
|
|
see
|
|
.BR caught .
|
|
(alias
|
|
.BR caught , \ sig_catch ).
|
|
T}
|
|
|
|
sigignore IGNORED T{
|
|
see
|
|
.BR ignored .
|
|
(alias
|
|
.BR ignored , \ sig_ignore ).
|
|
T}
|
|
|
|
sigmask BLOCKED T{
|
|
see
|
|
.BR blocked .
|
|
(alias
|
|
.BR blocked , \ sig_block ).
|
|
T}
|
|
|
|
size SIZE T{
|
|
approximate amount of swap space that would be required if the process were
|
|
to dirty all writable pages and then be swapped out. This number is very
|
|
rough!
|
|
T}
|
|
|
|
slice SLICE T{
|
|
displays the slice unit which a process belongs to,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
spid SPID T{
|
|
see
|
|
.BR lwp .
|
|
(alias
|
|
.BR lwp , \ tid ).
|
|
T}
|
|
|
|
stackp STACKP T{
|
|
address of the bottom (start) of stack for the process.
|
|
T}
|
|
|
|
start STARTED T{
|
|
time the command started. If the process was started less than 24 hours ago,
|
|
the output format is "HH:MM:SS", else it is "\ \ Mmm\ dd" (where Mmm is a
|
|
three\-letter month name). See also
|
|
.BR lstart , \ bsdstart , \ start_time ", and" \ stime .
|
|
T}
|
|
|
|
start_time START T{
|
|
starting time or date of the process. Only the year will be displayed if the
|
|
process was not started the same year
|
|
.B ps
|
|
was invoked, or "MmmDD" if it was not started the same day, or "HH:MM"
|
|
otherwise. See also
|
|
.BR bsdstart , \ start , \ lstart ", and" \ stime .
|
|
T}
|
|
|
|
stat STAT T{
|
|
multi\-character process state. See section
|
|
.B PROCESS STATE CODES
|
|
for the different values meaning. See also
|
|
.BR s \ and \ state
|
|
if you just want the first character displayed.
|
|
T}
|
|
|
|
state S T{
|
|
see
|
|
.BR s ". (alias" \ s ).
|
|
T}
|
|
|
|
stime STIME T{
|
|
see \fBstart_time\fR. (alias \fBstart_time\fR).
|
|
T}
|
|
|
|
suid SUID T{
|
|
saved user ID. (alias
|
|
.BR svuid ).
|
|
T}
|
|
|
|
supgid SUPGID T{
|
|
group ids of supplementary groups, if any. See
|
|
.BR getgroups (2).
|
|
T}
|
|
|
|
supgrp SUPGRP T{
|
|
group names of supplementary groups, if any. See
|
|
.BR getgroups (2).
|
|
T}
|
|
|
|
suser SUSER T{
|
|
saved user name. This will be the textual user ID, if it can be obtained and
|
|
the field width permits, or a decimal representation otherwise. (alias
|
|
.BR svuser ).
|
|
T}
|
|
|
|
svgid SVGID T{
|
|
see
|
|
.BR sgid .
|
|
(alias
|
|
.BR sgid ).
|
|
T}
|
|
|
|
svuid SVUID T{
|
|
see
|
|
.BR suid .
|
|
(alias
|
|
.BR suid ).
|
|
T}
|
|
|
|
sz SZ T{
|
|
size in physical pages of the core image of the process. This includes text,
|
|
data, and stack space. Device mappings are currently excluded; this is
|
|
subject to change. See
|
|
.BR vsz \ and \ rss .
|
|
T}
|
|
|
|
tgid TGID T{
|
|
a number representing the thread group to which a task belongs (alias
|
|
.BR pid ).
|
|
It is the process ID of the thread group leader.
|
|
T}
|
|
|
|
thcount THCNT T{
|
|
see
|
|
.BR nlwp .
|
|
(alias
|
|
.BR nlwp ).
|
|
number of kernel threads owned by the process.
|
|
T}
|
|
|
|
tid TID T{
|
|
the unique number representing a dispatchable entity (alias
|
|
.BR lwp , \ spid ).
|
|
This value may also appear as: a process ID (pid); a process group ID (pgrp);
|
|
a session ID for the session leader (sid); a thread group ID for the thread
|
|
group leader (tgid); and a tty process group ID for the process group leader
|
|
(tpgid).
|
|
T}
|
|
|
|
time TIME T{
|
|
cumulative CPU\ time, "[DD\-]HH:MM:SS" format. (alias
|
|
.BR cputime ).
|
|
T}
|
|
|
|
times TIME T{
|
|
cumulative CPU\ time in seconds (alias
|
|
.BR cputimes ).
|
|
T}
|
|
|
|
tname TTY T{
|
|
controlling tty (terminal). (alias
|
|
.BR tt , \ tty ).
|
|
T}
|
|
|
|
tpgid TPGID T{
|
|
ID of the foreground process group on the tty (terminal) that the process is
|
|
connected to, or \-1 if the process is not connected to a tty.
|
|
T}
|
|
|
|
trs TRS T{
|
|
text resident set size, the amount of physical memory devoted to executable code.
|
|
T}
|
|
|
|
tt TT T{
|
|
controlling tty (terminal). (alias
|
|
.BR tname , \ tty ).
|
|
T}
|
|
|
|
tty TT T{
|
|
controlling tty (terminal). (alias
|
|
.BR tname , \ tt ).
|
|
T}
|
|
|
|
ucmd CMD T{
|
|
see
|
|
.BR comm .
|
|
(alias
|
|
.BR comm , \ ucomm ).
|
|
T}
|
|
|
|
ucomm COMMAND T{
|
|
see
|
|
.BR comm .
|
|
(alias
|
|
.BR comm , \ ucmd ).
|
|
T}
|
|
|
|
uid UID T{
|
|
see
|
|
.BR euid .
|
|
(alias
|
|
.BR euid ).
|
|
T}
|
|
|
|
uname USER T{
|
|
see
|
|
.BR euser .
|
|
(alias
|
|
.BR euser , \ user ).
|
|
T}
|
|
|
|
unit UNIT T{
|
|
displays unit which a process belongs to,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
user USER T{
|
|
see
|
|
.BR euser .
|
|
(alias
|
|
.BR euser , \ uname ).
|
|
T}
|
|
|
|
userns USERNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
uss USS T{
|
|
Unique set size, the non-swapped physical memory, which
|
|
is not shared with an another task.
|
|
T}
|
|
|
|
utsns UTSNS T{
|
|
Unique inode number describing the namespace the process belongs to.
|
|
See
|
|
.IR namespaces (7).
|
|
T}
|
|
|
|
uunit UUNIT T{
|
|
displays user unit which a process belongs to,
|
|
if systemd support has been included.
|
|
T}
|
|
|
|
vsize VSZ T{
|
|
see
|
|
.BR vsz .
|
|
(alias
|
|
.BR vsz ).
|
|
T}
|
|
|
|
vsz VSZ T{
|
|
virtual memory size of the process in KiB (1024\-byte units). Device
|
|
mappings are currently excluded; this is subject to change. (alias
|
|
.BR vsize ).
|
|
T}
|
|
|
|
wbytes WBYTES T{
|
|
Number of bytes which this process caused to be sent to the storage layer.
|
|
T}
|
|
|
|
wcbytes WCBYTES T{
|
|
Number of cancelled write bytes.
|
|
T}
|
|
|
|
wchan WCHAN T{
|
|
name of the kernel function in which the process is sleeping.
|
|
T}
|
|
|
|
wchars WCHARS T{
|
|
Number of bytes which this task has caused, or shall cause to be written to disk.
|
|
T}
|
|
|
|
wops WOPS T{
|
|
Number of write I/O operations—that is, system calls such as
|
|
.BR write "(2) and " pwrite (2).
|
|
T}
|
|
|
|
.TE
|
|
.\" #######################################################################
|
|
.PP
|
|
.PP
|
|
.SH "ENVIRONMENT VARIABLES"
|
|
The following environment variables could affect
|
|
.BR ps :
|
|
.TP 3
|
|
.B COLUMNS
|
|
Override default display width.
|
|
.TP
|
|
.B LINES
|
|
Override default display height.
|
|
.TP
|
|
.B PS_PERSONALITY
|
|
Set to one of posix, old, linux, bsd, sun, digital... (see section
|
|
.B PERSONALITY
|
|
below).
|
|
.TP
|
|
.B CMD_ENV
|
|
Set to one of posix, old, linux, bsd, sun, digital... (see section
|
|
.B PERSONALITY
|
|
below).
|
|
.TP
|
|
.B I_WANT_A_BROKEN_PS
|
|
Force obsolete command line interpretation.
|
|
.TP
|
|
.B LC_TIME
|
|
Date format.
|
|
.TP
|
|
.B PS_COLORS
|
|
Not currently supported.
|
|
.TP
|
|
.B PS_FORMAT
|
|
Default output format override. You may set this to a format
|
|
string of the type used for the
|
|
.B \-o
|
|
option.
|
|
The
|
|
.B DefSysV
|
|
and
|
|
.B DefBSD
|
|
values are particularly useful.
|
|
.TP
|
|
.B POSIXLY_CORRECT
|
|
Don't find excuses to ignore bad "features".
|
|
.TP
|
|
.B POSIX2
|
|
When set to "on", acts as
|
|
.BR POSIXLY_CORRECT .
|
|
.TP
|
|
.B UNIX95
|
|
Don't find excuses to ignore bad "features".
|
|
.TP
|
|
.B _XPG
|
|
Cancel \fBCMD_ENV\fR=\fIirix\fR non\-standard behavior.
|
|
.PP
|
|
In general, it is a bad idea to set these variables. The one exception is
|
|
.B CMD_ENV
|
|
or
|
|
.BR PS_PERSONALITY ,
|
|
which could be set to Linux for normal systems. Without that setting,
|
|
.B ps
|
|
follows the useless and bad parts of the Unix98 standard.
|
|
.PP
|
|
.SH "PERSONALITY"
|
|
.TS
|
|
l l.
|
|
390 like the OS/390 OpenEdition \fBps\fR
|
|
aix like AIX \fBps\fR
|
|
bsd like FreeBSD \fBps\fR (totally non\-standard)
|
|
compaq like Digital Unix \fBps\fR
|
|
debian like the old Debian \fBps\fR
|
|
digital like Tru64 (was Digital\ Unix, was OSF/1) \fBps\fR
|
|
gnu like the old Debian \fBps\fR
|
|
hp like HP\-UX \fBps\fR
|
|
hpux like HP\-UX \fBps\fR
|
|
irix like Irix \fBps\fR
|
|
linux ***** \fBrecommended\fR *****
|
|
old like the original Linux \fBps\fR (totally non\-standard)
|
|
os390 like OS/390 Open Edition \fBps\fR
|
|
posix standard
|
|
s390 like OS/390 Open Edition \fBps\fR
|
|
sco like SCO \fBps\fR
|
|
sgi like Irix \fBps\fR
|
|
solaris2 like Solaris 2+ (SunOS 5) \fBps\fR
|
|
sunos4 like SunOS 4 (Solaris 1) \fBps\fR (totally non\-standard)
|
|
svr4 standard
|
|
sysv standard
|
|
tru64 like Tru64 (was Digital Unix, was OSF/1) \fBps\fR
|
|
unix standard
|
|
unix95 standard
|
|
unix98 standard
|
|
.TE
|
|
.PP
|
|
.PP
|
|
.SH "SEE ALSO"
|
|
.BR pgrep (1),
|
|
.BR pstree (1),
|
|
.BR top (1),
|
|
.BR proc (5).
|
|
.PP
|
|
.PP
|
|
.SH STANDARDS
|
|
This
|
|
.B ps
|
|
conforms to:
|
|
.PP
|
|
.PD 0
|
|
.IP 1 4
|
|
Version 2 of the Single Unix Specification
|
|
.IP 2 4
|
|
The Open Group Technical Standard Base Specifications, Issue\ 6
|
|
.IP 3 4
|
|
IEEE Std 1003.1, 2004\ Edition
|
|
.IP 4 4
|
|
X/Open System Interfaces Extension [UP\ XSI]
|
|
.IP 5 4
|
|
ISO/IEC 9945:2003
|
|
.PD
|
|
.PP
|
|
.SH AUTHOR
|
|
.B ps
|
|
was originally written by
|
|
.UR lankeste@\:fwi.\:uva.\:nl
|
|
Branko Lankester
|
|
.UE .
|
|
.UR johnsonm@\:redhat.\:com
|
|
Michael K. Johnson
|
|
.UE
|
|
re\-wrote it significantly to use the proc filesystem, changing a few things
|
|
in the process.
|
|
.UR mjshield@\:nyx.\:cs.\:du.\:edu
|
|
Michael Shields
|
|
.UE
|
|
added the pid\-list feature.
|
|
.UR cblake@\:bbn.\:com
|
|
Charles Blake
|
|
.UE
|
|
added multi\-level sorting, the dirent\-style library, the device
|
|
name\-to\-number mmaped database, the approximate binary search directly on
|
|
System.map, and many code and documentation cleanups. David Mossberger\-Tang
|
|
wrote the generic BFD support for psupdate.
|
|
.UR albert@\:users.\:sf.\:net
|
|
Albert Cahalan
|
|
.UE
|
|
rewrote ps for full Unix98 and BSD support, along with some ugly hacks for
|
|
obsolete and foreign syntax.
|
|
.PP
|
|
Please send bug reports to
|
|
.UR procps@\:freelists.\:org
|
|
.UE .
|
|
No subscription is required or suggested.
|