PS(1B) BSD Compatibility Package Commands PS(1B)


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(7I)) 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

The state is given by a single letter from the following:

Process is running on a processor.

Sleeping. Process is waiting for an event to complete.

Runnable. Process is on run queue.

Zombie state. Process terminated and parent not waiting.

Traced. Process stopped by a signal because parent is tracing it.


The following options must all be combined to form the first argument:

Includes information about processes owned by others.

Displays the command name rather than the command arguments.

Displays the environment as well as the arguments to the

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.

Displays a long listing, with fields F, PPID, CP, PRI, NI, SZ,
RSS, and WCHAN as described below.

Produces numerical output for some fields. In a user listing,
the USER field is replaced by a UID field.

Restricts output to running and runnable processes.

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).

Displays user-oriented output. This includes fields USER,
%CPU, %MEM, SZ, RSS, and START as described below.

Obsolete. This option no longer has any effect. It causes ps
to exit without printing the process listing.

Displays a version of the output containing virtual memory.
This includes fields SIZE, %CPU, %MEM, and RSS, described

Uses a wide output format, that is, 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. Note: The wide
output option can be viewed only by a superuser or the user
who owns the process.

Includes processes with no controlling terminal.

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:

Name of the owner of the process.

CPU use of the process. This is a decaying average over up to a
minute of previous (real) time.

Process scheduling increment (see getpriority(3C) and nice(2)).

The total size of the process in virtual memory, including all
mapped files and devices, in kilobyte units.

Same as SIZE.

Real memory (resident set) size of the process, in kilobyte

Numerical user-ID of process owner.

Numerical ID of parent of process.

Short-term CPU utilization factor (used in scheduling).

The priority of the process (higher numbers mean lower

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.

The address of an event for which the process is sleeping (if
blank, the process is running).

The ratio of the process's resident set size to the physical
memory on the machine, expressed as a percentage.

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.



UID information supplier


kill(1), ps(1), whodo(1M), getpriority(3C), nice(2), proc(4),
attributes(5), termio(7I)


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.

May 13, 2017 PS(1B)