ps(1)
NAME
ps - report process status
SYNOPSIS
ps [-aAcdefjlLPy] [-g grplist] [-n namelist] [-o format]...
[-p proclist] [-s sidlist] [-t term] [-u uidlist] [-
U uidlist] [-G gidlist]
DESCRIPTION
The ps command prints information about active processes.
Without options, ps prints information about processes that
have the same effective user ID and the same controlling
terminal as the invoker. The output contains only the pro-
cess ID, terminal identifier, cumulative execution time, and
the command name. Otherwise, the information that is
displayed is controlled by the options.
Some options accept lists as arguments. Items in a list can
be either separated by commas or else enclosed in quotes and
separated by commas or spaces. Values for proclist and
grplist must be numeric.
OPTIONS
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.
-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.
-f Generates a full listing. (See below for significance
of columns in a full listing.)
-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.)
-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.
-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 specifica-
tion given in format. This is fully described in
DISPLAY FORMATS. Multiple -o options can be specified;
the format specification will be interpreted as the
space-character-separated concatenation of all the
format option-arguments.
-ps proclist
Lists only process data whose process ID numbers are
given in proclist.
-P Prints the number of the processor to which the pro-
cess 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.
-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.
-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 will be printed unless you give the
-f option, which prints the login name.
-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.
-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) will be reported in units
of kilobytes instead of pages.
Many of the options shown are used to select processes to
list. If any are specified, the default list will be ignored
and ps will select the processes represented by the
inclusive OR of all the selection-criteria options.
DISPLAY FORMATS
Under the -f option, ps tries to determine the command name
and arguments given when the process was created by examin-
ing the user block. Failing this, the command name is
printed, as it would have appeared without the -f option, 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 will be listed.
F (l)
Flags (hexadecimal and additive) associated with the
process. These flags are available for historical pur-
poses; 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.
Z Zombie state: process terminated and parent not
waiting.
T Process is stopped, either by a job control sig-
nal or because it is being traced.
UID (f,l)
The effective user ID number of the process (the login
name is printed under the -f option).
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 cer-
tain 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.
CMD (all)
The command name (the full command name and its argu-
ments, up to a limit of 80 characters, are printed
under the -f option).
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 TIME 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 vari-
able has a default header. The default header can be over-
ridden by appending an equals sign and the new text of the
header. The rest of the characters in the argument will be
used as the header text. The fields specified will be writ-
ten in the order specified on the command line, and should
be arranged in columns in the output. The field widths will
be 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 will be at
least as wide as the default header text. If all header text
fields are null, no header line will be written.
The following names are recognized in the POSIX locale:
user The effective user ID of the process. This will be 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 will be the tex-
tual 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 will be
the textual group ID, if it can be obtained and the
field width permits, or a decimal representation oth-
erwise.
rgroup
The real 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.
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 avail-
able 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 pro-
cess 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 will be a decimal integer. The hh, mm and ss
fields will be 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 will be 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) com-
mand.
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 may 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 may 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. The Solaris implementation limits the string to 80
bytes; the string is the version of the argument list
as it was passed to the command when it started.
The following names are recognized in the Solaris implemen-
tation:
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.
ru+id 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.
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 for-
matting 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.
pmem The ratio of the process's resident set size to the
physical memory on the machine, expressed as a percen-
tage.
fname The first 8 bytes of the base name of the process's
executable file.
Only comm and args are allowed to contain blank characters;
all others, including the Solaris 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 Solaris 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 |
| lwp LWP | s S |
| nlwp NLWP | sid SID |
| opri PRI | stime STIME |
| osz SZ | taskid TASKID |
| pmem %MEM | uid UID |
| pri PRI | wchan WCHAN |
|________________________________|________________________________|
EXAMPLES
Example 1: An example of the ps command
The command:
example% ps -o user,pid,ppid=MOM -o args
writes the following in the POSIX locale:
USER PID MOM COMMAND
helene 34 12 ps -o uid,pid,ppid=MOM -o args
The contents of the COMMAND field need not be the same due
to possible truncation.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of ps: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, LC_TIME, and NLSPATH.
COLUMNS
Override the system-selected horizontal screen size,
used to determine the number of text columns to
display.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
FILES
/dev/pts/*
/dev/term/*
terminal (``tty'') names searcher files
/etc/passwd
UID information supplier
/proc/*
process control files
/tmp/ps_data
internal data structure
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| CSI | Enabled (see USAGE) |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
SEE ALSO
kill(1), nice(1), pagesize(1), pgrep(1), priocntl(1),
who(1), getty(1M), proc(4), ttysrch(4), attributes(5),
environ(5), standards(5)
NOTES
Things can change while ps is running. The snapshot it gives
is true only for a split-second, and it may not be accurate
by the time you see it. Some data printed for defunct
processes is irrelevant.
If no options to select processes are specified, ps will
report all processes associated with the controlling termi-
nal. If there is no controlling terminal, there will be no
report other than the header.
ps -ef or ps -o stime may not report the actual start of a
tty login session, but rather an earlier time, when a getty
was last respawned on the tty line.
ps is CSI-enabled except for login names (usernames).
Man(1) output converted with
man2html