ps - display the status of current processes
/usr/ucb/ps [-aceglnrSuUvwx] [-t term] [num]
The ps command displays information about processes.
Normally, only those processes that are running with your effective user
ID and are attached to a controlling terminal (see termio(4I))
are shown. Additional categories of processes can be added to the display
using various options. In particular, the -a option allows you to
include processes that are not owned by you (that do not have your user
ID), and the -x option allows you to include processes without
controlling terminals. When you specify both -a and -x, you
get processes owned by anyone, with or without a controlling terminal. The
-r option restricts the list of processes printed to running and
runnable processes.
ps displays in tabular form the process ID, under
PID; the controlling terminal (if any), under TT; the cpu time
used by the process so far, including both user and system time, under
TIME; the state of the process, under S; and finally, an indication
of the COMMAND that is running.
The state is given by a single letter from the following:
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
Traced. Process stopped by a signal because parent is
tracing it.
The following options must all be combined to form the first
argument:
-a
Includes information about processes owned by
others.
-c
Displays the command name rather than the command
arguments.
-e
Displays the environment as well as the arguments to the
command.
-g
Displays all processes. Without this option, ps
only prints interesting processes. Processes are deemed to be uninteresting if
they are process group leaders. This normally eliminates top-level command
interpreters and processes waiting for users to login on free terminals.
-l
Displays a long listing, with fields F,
PPID, CP, PRI, NI, SZ, RSS, and
WCHAN as described below.
-n
Produces numerical output for some fields. In a user
listing, the USER field is replaced by a UID field.
-r
Restricts output to running and runnable processes.
-S
Displays accumulated CPU time used by this process
and all of its reaped children.
-t term
Lists only process data associated with the terminal,
term. Terminal identifiers may be specified in one of two forms: the
device's file name (for example, tty04 or term/14) or, if the
device's file name starts with tty, just the digit identifier (for
example, 04).
-u
Displays user-oriented output. This includes fields
USER, %CPU, %MEM, SZ, RSS, and START
as described below.
-U
Obsolete. This option no longer has any effect. It causes
ps to exit without printing the process listing.
-v
Displays a version of the output containing virtual
memory. This includes fields SIZE, %CPU, %MEM, and
RSS, described below.
-w
Uses a wide output format, that is, truncate process
arguments at 132 columns rather than 80. If the option letter is repeated,
that is, -ww, this option uses arbitrarily wide output. This
information is used to decide how much of long commands to print.
-x
Includes processes with no controlling terminal.
num
A process number may be given, in which case the output
is restricted to that process. This option must be supplied last.
Fields that are not common to all output formats:
USER
Name of the owner of the process.
%CPU
CPU use of the process. This is a decaying average
over up to a minute of previous (real) time.
NI
SIZE
The total size of the process in virtual memory,
including all mapped files and devices, in kilobyte units.
SZ
Same as SIZE.
RSS
Real memory (resident set) size of the process, in
kilobyte units.
UID
Numerical user-ID of process owner.
PPID
Numerical ID of parent of process.
CP
Short-term CPU utilization factor (used in
scheduling).
PRI
The priority of the process (higher numbers mean lower
priority).
START
The starting time of the process, given in hours,
minutes, and seconds. A process begun more than 24 hours before the ps
inquiry is executed is given in months and days.
WCHAN
The address of an event for which the process is sleeping
(if blank, the process is running).
%MEM
The ratio of the process's resident set size to the
physical memory on the machine, expressed as a percentage.
F
Flags (hexadecimal and additive) associated with the
process. These flags are available for historical purposes; no meaning should
be currently ascribed to them.
A process that has exited and has a parent, but has not yet been
waited for by the parent, is marked <defunct>; otherwise,
ps tries to determine the command name and arguments given when the
process was created by examining the user block.
/dev/tty*
/etc/passwd
UID information supplier
Things can change while ps is running. The picture
ps gives is only a close approximation to the current state. Some
data printed for defunct processes is irrelevant.