PS(1) (Essential Utilities) PS(1)
NAME
ps - report process status
SYNOPSIS
ps [options]
DESCRIPTION
The ps command prints certain information about active
processes. Without options, information is printed about
processes associated with the controlling terminal. The
output consists of a short listing containing only the
process ID, terminal identifier, cumulative execution time,
and the command name. Otherwise, the information that is
displayed is controlled by the selection of options.
The options accept names or lists as arguments. Arguments
can be either separated from one another by commas or
enclosed in double quotes and separated from one another by
commas or spaces. Values for proclist and grplist must be
numeric.
The options are given in descending order according to
volume and range of information provided:
-e Report on every process now running.
-d Report on all processes except process group
leaders.
-a Report on all processes most frequently
requested: all those except process group
leaders and processes not associated with a
terminal.
-f Generate a full listing. (See below for
significance of columns in a full listing.)
-l Generate a long listing. (See below.)
-n name Valid only for users with a real user id of root
or a real group id of sys. Takes argument
signifying an alternate system name in place of
/unix.
-t termlist List only process data associated with the
terminal given in termlist. Terminal
Page 1 May 1989
PS(1) (Essential Utilities) PS(1)
identifiers may be specified in one of two
forms: the device's file name (e.g., tty04) or,
if the device's file name starts with tty, just
the digit identifier (e.g., 04).
-p proclist List only process data whose process ID numbers
are given in proclist.
-u uidlist List only process data whose 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.
-g grplist List only process data whose process group
leader's ID numbers appear in grplist. (A group
leader is a process whose process ID number is
identical to its process group ID number. A
login shell is a common example of a process
group leader.)
Under the -f option, ps tries to determine the command name
and arguments given when the process was created by
examining 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 that 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
Motorola 68K or 88K Computer
00 Process has terminated: process
table entry now available.
01 A system process: always in primary
Page 2 May 1989
PS(1) (Essential Utilities) PS(1)
memory.
02 Parent is tracing process.
04 Tracing parent's signal has stopped
process: parent is waiting
ptrace(2).
08 Process cannot wake up by a signal.
10 Process currently in core.
20 Process cannot be swapped.
40 Set when signal goes remote.
80 Process in stream poll.
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.
I Idle: process is being created.
Z Zombie state: process terminated
and parent not waiting.
T Traced: process stopped by a signal
because parent is tracing it.
X SXBRK state: process is waiting for
more primary memory.
UID (f,l) The user ID number of the process owner
(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.
Page 3 May 1989
PS(1) (Essential Utilities) PS(1)
C (f,l) Processor utilization for scheduling.
PRI (l) The priority of the process (higher numbers
mean lower priority).
NI (l) Nice value, used in priority computation.
ADDR (l) The memory address of the process.
SZ (l) The size (in pages or clicks) of the
swappable process's image in main memory.
WCHAN (l) The address of an event for which the
process is sleeping or in SXBRK state (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.
COMMAND(all) The command name (the full command name and
its arguments are printed under the -f
option).
A process that has exited and has a parent, but has not yet
been waited for by the parent, is marked <defunct>.
FILES
/dev
/dev/sxt/*
/dev/tty*
Page 4 May 1989
PS(1) (Essential Utilities) PS(1)
/dev/xt/* terminal (``tty'') names searcher files
/dev/kmem kernel virtual memory
/dev/swap the default swap device
/dev/mem memory
/etc/passwd UID information supplier
/etc/ps_data internal data structure
/unix system namelist
SEE ALSO
kill(1), nice(1).
getty(1M) in the System Administrator's Reference Manual.
WARNING
Things can change while ps is running; the snap-shot it
gives is only true 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 termlist, proclist, uidlist, or grplist is specified,
ps checks stdin, stdout, and stderr in that order, looking
for the controlling terminal and will attempt to report on
processes associated with the controlling terminal. In this
situation, if stdin, stdout, and stderr are all redirected,
ps will not find a controlling terminal, so there will be no
report.
On a heavily loaded system, ps may report an lseek(2) error
and exit. ps may seek to an invalid user area address:
having obtained the address of a process' user area, ps may
not be able to seek to that address before the process exits
and the address becomes invalid.
ps -ef 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.
If the user specifies the -n flag, the real and effective
UID/GID will be set to the real UID/GID of the user invoking
ps.
Page 5 May 1989