The following options are supported:
-a
Lists information about
all processes most
frequently requested: all those except session leaders and processes not
associated with a terminal.
This option is ignored when the -e option is also
specified.
-A
Lists information for all processes. Identical to
-e, below.
-c
Prints information in a format that reflects scheduler
properties as described in
priocntl(1). The
-c option affects
the output of the
-f and
-l options, as described below.
-d
Lists information about all processes except session
leaders.
-e
Lists information about
every process now running.
When the -e option is specified, options -z,
-t, -u, -U, -g, -G, -p, -h,
-s and -a have no effect.
-f
Generates a full listing. (See below for
significance of columns in a full listing.)
-F
Generates a full listing but shows up to 4096
characters of the current command arguments for a process (which may have been
changed since the process was launched).
-g grplist
Lists only process data whose group leader's
ID
number(s) appears in
grplist. (A group leader is a process whose
process
ID number is identical to its process group
ID number.)
This option is ignored when the -e option is also
specified.
-G gidlist
Lists information for processes whose real group ID
numbers are given in
gidlist. The
gidlist must be a single
argument in the form of a blank- or comma-separated list.
This option is ignored when the -e option is also
specified.
-h lgrplist
Lists only the processes homed to the specified
lgrplist. Nothing is listed for any invalid group specified in
lgrplist.
This option is ignored when the -e option is also
specified.
-H
Prints the home lgroup of the process under an additional
column header, LGRP.
-j
Prints session ID and process group
ID.
-l
Generates a long listing. (See below.)
-L
Prints information about each light weight process
(lwp) in each selected process. (See below.)
-n namelist
Specifies the name of an alternative system
namelist file in place of the default. This option is accepted for
compatibility, but is ignored.
-o format
Prints information according to the format specification
given in format. This is fully described in DISPLAY FORMATS.
Multiple -o options can be specified; the format specification is
interpreted as the space-character-separated concatenation of all the
format option-arguments.
-p proclist
Lists only process data whose process
ID numbers
are given in
proclist.
This option is ignored when the -e option is also
specified.
-P
Prints the number of the processor to which the process
or lwp is bound, if any, under an additional column header, PSR.
-s sidlist
Lists information on all session leaders whose
IDs
appear in
sidlist.
This option is ignored when the -e option is also
specified.
-t term
Lists only process data associated with
term.
Terminal identifiers are specified as a device file name, and an identifier.
For example,
term/a, or
pts/0.
This option is ignored when the -e option is also
specified.
-u uidlist
Lists only process data whose effective user
ID
number or login name is given in
uidlist. In the listing, the numerical
user
ID is printed unless you give the
-f option, which prints
the login name.
This option is ignored when the -e option is also
specified.
-U uidlist
Lists information for processes whose real user
ID
numbers or login names are given in
uidlist. The
uidlist must be
a single argument in the form of a blank- or comma-separated list.
This option is ignored when the -e option is also
specified.
-W
Truncate long names even when ps would normally
print them in full. A trailing asterisk marks a long name that has been
truncated to fit the column.
-y
Under a long listing (-l), omits the obsolete
F and ADDR columns and includes an RSS column to report
the resident set size of the process. Under the -y option, both
RSS and SZ (see below) is reported in units of kilobytes instead
of pages.
-z zonelist
Lists only processes in the specified zones. Zones can be
specified either by name or ID. This option is only useful when executed in
the global zone.
This option is ignored when the -e option is also
specified.
-Z
Prints the name of the zone with which the process is
associated under an additional column header,
ZONE. The
ZONE
column width is limited to 8 characters. Use
ps -eZ for a quick
way to see information about every process now running along with the
associated zone name. Use
ps -eo zone,uid,pid,ppid,time,comm,...
to see zone names wider than 8 characters.
Many of the options shown are used to select processes to list. If
any are specified, the default list is ignored and ps selects the
processes represented by the inclusive OR of all the selection-criteria
options.
Under the -f and -F options, ps tries to
determine the command name and arguments for the process. For -f
these are the arguments given when the process was created and they are
truncated. For -F the arguments are read from the
fB/proc/nnnnn/cmdline file which provides up to 4096
characters. The process may have changed these since it was started. Failing
this, the command name is printed, as it would have appeared without the
-f or -F options, in square brackets.
The column headings and the meaning of the columns in a ps
listing are given below; the letters f and l indicate the
option (full or long, respectively) that causes the
corresponding heading to appear; all means that the heading always
appears. Note: These two options determine only what information is
provided for a process; they do not determine which processes are
listed.
F(l)
Flags (hexadecimal and additive) associated with the
process. These flags are available for historical purposes; no meaning should
be currently ascribed to them.
S (l)
The state of the process:
O
Process is running on a processor.
S
Sleeping: process is waiting for an event to
complete.
R
Runnable: process is on run queue.
T
Process is stopped, either by a job control signal or
because it is being traced.
W
Waiting: process is waiting for CPU usage to drop to the
CPU-caps enforced limits.
Z
Zombie state: process terminated and parent not
waiting.
UID (f,l)
The effective user ID number of the process (the
login name is printed under the -f option). A trailing asterisk marks a
long name that has been truncated to fit the column.
PID(all)
The process ID of the process (this datum is
necessary in order to kill a process).
PPID(f,l)
The process ID of the parent process.
C(f,l)
Processor utilization for scheduling (obsolete). Not
printed when the -c option is used.
CLS(f,l)
Scheduling class. Printed only when the -c option
is used.
PRI(l)
The priority of the process. Without the -c
option, higher numbers mean lower priority. With the -c option, higher
numbers mean higher priority.
NI(l)
Nice value, used in priority computation. Not printed
when the -c option is used. Only processes in the certain scheduling
classes have a nice value.
ADDR(l)
The memory address of the process.
SZ(l)
The total size of the process in virtual memory,
including all mapped files and devices, in pages. See
pagesize(1).
WCHAN(l)
The address of an event for which the process is sleeping
(if blank, the process is running).
STIME(f)
The starting time of the process, given in hours,
minutes, and seconds. (A process begun more than twenty-four hours before the
ps inquiry is executed is given in months and days.)
TTY(all)
The controlling terminal for the process (the message,
?, is printed when there is no controlling terminal).
TIME(all)
The cumulative execution time for the process.
LTIME(all)
The execution time for the lwp being reported.
CMD(all)
The command name (or, with the -f option, the full
command name and its arguments up to a limited of 80 characters or, with the
-F option, up to 4096 characters of the current process
arguments).
The following two additional columns are printed when the
-j option is specified:
PGID
The process ID of the process group leader.
SID
The process ID of the session leader.
The following two additional columns are printed when the
-L option is specified:
LWP
The lwp ID of the lwp being reported.
NLWP
The number of lwps in the process (if -f is also
specified).
Under the -L option, one line is printed for each lwp in
the process and the time-reporting fields STIME and LTIME show
the values for the lwp, not the process. A traditional single-threaded
process contains only one lwp.
A process that has exited and has a parent, but has not yet been
waited for by the parent, is marked <defunct>.
-o format
The -o option allows the output format to be specified
under user control.
The format specification must be a list of names presented as a
single argument, blank- or comma-separated. Each variable has a default
header. The default header can be overridden by appending an equals sign and
the new text of the header. The rest of the characters in the argument is
used as the header text. The fields specified are written in the order
specified on the command line, and should be arranged in columns in the
output. The field widths are selected by the system to be at least as wide
as the header text (default or overridden value). If the header text is
null, such as -o user=, the field width is at least as wide as
the default header text. Long names are not truncated in this mode. If all
header text fields are null, no header line is written.
The following names are recognized in the POSIX locale:
user
The effective user ID of the process. This is the
textual user ID, if it can be obtained and the field width permits, or
a decimal representation otherwise.
ruser
The real user ID of the process. This is the
textual user ID, if it can be obtained and the field width permits, or
a decimal representation otherwise.
group
The effective group ID of the process. This is the
textual group ID, if it can be obtained and the field width permits, or
a decimal representation otherwise.
rgroup
The real group ID of the process. This is the
textual group ID, if it can be obtained and the field width permits, or
a decimal representation otherwise.
pid
The decimal value of the process ID.
ppid
The decimal value of the parent process ID.
pgid
The decimal value of the process group ID.
pcpu
The ratio of CPU time used recently to CPU time available
in the same period, expressed as a percentage. The meaning of ``recently'' in
this context is unspecified. The CPU time available is determined in an
unspecified manner.
vsz
The total size of the process in virtual memory, in
kilobytes.
nice
The decimal value of the system scheduling priority of
the process. See
nice(1).
etime
In the POSIX locale, the elapsed time since the process
was started, in the form:
[[dd-]hh:]mm:ss
where
dd
is the number of days
hh
is the number of hours
mm
is the number of minutes
ss
is the number of seconds
The dd field is a decimal integer. The hh, mm
and ss fields is two-digit decimal integers padded on the left with
zeros.
time
In the POSIX locale, the cumulative CPU time of the
process in the form:
[dd-]hh:mm:ss
The dd, hh, mm, and ss fields is as
described in the etime specifier.
tty
The name of the controlling terminal of the process (if
any) in the same format used by the
who(1) command.
comm
The name of the command being executed (argv[0]
value) as a string.
args
The command with all its arguments as a string. The
implementation might truncate this value to the field width; it is
implementation-dependent whether any further truncation occurs. It is
unspecified whether the string represented is a version of the argument list
as it was passed to the command when it started, or is a version of the
arguments as they might have been modified by the application. Applications
cannot depend on being able to modify their argument list and having that
modification be reflected in the output of ps. However, the current
implementation will display up to 4096 characters of the modified process
arguments when given the -F argument; otherwise this is the initial
process arguments, but limited to 80 bytes.
The following names are recognized in the illumos
implementation:
f
Flags (hexadecimal and additive) associated with the
process.
s
The state of the process.
c
Processor utilization for scheduling (obsolete).
uid
The effective user ID number of the process as a
decimal integer.
ruid
The real user ID number of the process as a
decimal integer.
gid
The effective group ID number of the process as a
decimal integer.
rgid
The real group ID number of the process as a
decimal integer.
projid
The project ID number of the process as a decimal
integer.
project
The project ID of the process as a textual value
if that value can be obtained; otherwise, as a decimal integer.
zoneid
The zone ID number of the process as a decimal
integer.
zone
The zone ID of the process as a textual value if
that value can be obtained; otherwise, as a decimal integer.
sid
The process ID of the session leader.
taskid
The task ID of the process.
class
The scheduling class of the process.
pri
The priority of the process. Higher numbers mean higher
priority.
opri
The obsolete priority of the process. Lower numbers mean
higher priority.
lwp
The decimal value of the lwp ID. Requesting this
formatting option causes one line to be printed for each lwp in the
process.
lwpname
The name of the lwp, if set. Requesting this formatting
option causes one line to be printed for each lwp in the process.
nlwp
The number of lwps in the process.
psr
The number of the processor to which the process or lwp
is bound.
pset
The ID of the processor set to which the process
or lwp is bound.
addr
The memory address of the process.
osz
The total size of the process in virtual memory, in
pages.
wchan
The address of an event for which the process is sleeping
(if −, the process is running).
stime
The starting time or date of the process, printed with no
blanks.
rss
The resident set size of the process, in kilobytes. The
rss value reported by
ps is an estimate provided by
proc(5) that might underestimate the actual resident set size. Users
who wish to get more accurate usage information for capacity planning should
use
pmap(1) -x instead.
pmem
The ratio of the process's resident set size to the
physical memory on the machine, expressed as a percentage.
fname
The first 8 bytes of the base name of the process's
executable file.
ctid
The contract ID of the process contract the process is a
member of as a decimal integer.
lgrp
The home lgroup of the process.
dmodel
The data model of the process, printed in the same manner
as via
pflags(1). The currently supported data models are _ILP32 and
_LP64.
Only comm, lwpname, and args are allowed to
contain blank characters; all others, including the illumos implementation
variables, are not.
The following table specifies the default header to be used in the
POSIX locale corresponding to each format specifier.
Format |
Default |
Format |
Default |
Specifier |
Header |
Specifier |
Header |
args |
COMMAND |
ppid |
PPID |
comm |
COMMAND |
rgroup |
RGROUP |
etime |
ELAPSED |
ruser |
RUSER |
group |
GROUP |
time |
TIME |
nice |
NI |
tty |
TT |
pcpu |
%CPU |
user |
USER |
pgid |
PGID |
vsz |
VSZ |
pid |
PID |
The following table lists the illumos implementation format
specifiers and the default header used with each.
Format |
Default |
Format |
Default |
Specifier |
Header |
Specifier |
Header |
addr |
ADDR |
projid |
PROJID |
c |
C |
project |
PROJECT |
class |
CLS |
psr |
PSR |
f |
F |
rgid |
RGID |
fname |
COMMAND |
rss |
RSS |
gid |
GID |
ruid |
RUID |
lgrp |
LGRP |
s |
S |
lwp |
LWP |
sid |
SID |
lwpname |
LWPNAME |
stime |
STIME |
nlwp |
NLWP |
taskid |
TASKID |
opri |
PRI |
uid |
UID |
osz |
SZ |
wchan |
WCHAN |
pmem |
%MEM |
zone |
ZONE |
pri |
PRI |
zoneid |
ZONEID |
ctid |
CTID |