User Commands ps(1)
NAME
ps - report process status
SYNOPSIS
ps [-aAcdefjHlLPyZ] [-g grplist] [-h lgrplist]
[-n namelist] [-o format]... [-p proclist]
[-s sidlist] [-t term] [-u uidlist] [-U uidlist]
[-G gidlist] [-z zonelist]
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 ses-
sion leaders and processes not associated
with a terminal.
-A Lists information for all processes. Identi-
cal 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 -eoption is specified, options -z,
SunOS 5.11 Last change: 9 Jan 2008 1
User Commands ps(1)
-t, -u, -U, -g, -G, -p, -g, -s and -a options
have no effect.
-f Generates a full listing. (See below for sig-
nificance 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.
-Lists only processes homed to the specified
lgroups. Nothing is listed for any invalid
lgroups given.
-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 specifi-
cation is interpreted as the space-
character-separated concatenation of all the
SunOS 5.11 Last change: 9 Jan 2008 2
User Commands ps(1)
format option-arguments.
-p proclist Lists only process data whose process ID
numbers are given in proclist.
-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.
-t term Lists only process data associated with term.
Terminal identifiers are specified as a dev-
ice file name, and an identifier. For exam-
ple, 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 is
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 argu-
ment in the form of a blank- or comma-
separated list.
-y Under a long listing (-l), omits the obsolete
F and ADR columns and includes an RS column
to report the resident set size of the pro-
cess. Under the -y option, both RS 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.
-Z Prints the name of the zone with which the
process is associated under an additional
SunOS 5.11 Last change: 9 Jan 2008 3
User Commands ps(1)
column header, ZONE. The ZONE column width is
limited to 8 characters. Use ps -eZ for a
quick way to see information about every pro-
cess 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.
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 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.
SunOS 5.11 Last change: 9 Jan 2008 4
User Commands ps(1)
T Process is stopped, either by a job con-
trol 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).
PID(all) The process ID of the process (this datum is
necessary in order to kill a process).
PID(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.
ADR(l) The memory address of the process.
SZ(l) The total size of the process in virtual
memory, including all mapped files and
SunOS 5.11 Last change: 9 Jan 2008 5
User Commands ps(1)
devices, in pages. See pagesize(1).
WCHAN(l) The address of an event for which the process
is sleeping (if blank, the process is run-
ning).
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.)
TY(all) The controlling terminal for the process (the
message, ?, is printed when there is no con-
trolling 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 (the full command name and
its arguments, 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).
SunOS 5.11 Last change: 9 Jan 2008 6
User Commands ps(1)
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 .
-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 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. 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 tex-
tual user ID, if it can be obtained and the field
width permits, or a decimal representation other-
wise.
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 tex-
tual group ID, if it can be obtained and the field
width permits, or a decimal representation
SunOS 5.11 Last change: 9 Jan 2008 7
User Commands ps(1)
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 per-
centage. The meaning of ``recently'' in this con-
text 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 prior-
ity 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:
SunOS 5.11 Last change: 9 Jan 2008 8
User Commands ps(1)
[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 pro-
cess (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 hav-
ing 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.
ruid The real user ID number of the process as a
decimal integer.
SunOS 5.11 Last change: 9 Jan 2008 9
User Commands ps(1)
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.
nlwp The number of lwps in the process.
SunOS 5.11 Last change: 9 Jan 2008 10
User Commands ps(1)
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 kilo-
bytes. The rss value reported by ps is an esti-
mate provided by proc(4) 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 pro-
cess is a member of as a decimal integer.
lgrp The home lgroup of the process.
Only comm and args are allowed to contain blank characters;
all others, including the Solaris implementation variables,
are not.
SunOS 5.11 Last change: 9 Jan 2008 11
User Commands ps(1)
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 COMAND ppid PID
comm COMAND rgroup RGROUP
etime ELAPSED ruser RUSER
group GROUP time TIME
nice NI tty T
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.
SunOS 5.11 Last change: 9 Jan 2008 12
User Commands ps(1)
Format Default Format Default
Specifier Header Specifier Header
addr ADR projid PROJID
c C project PROJECT
class CLS psr PSR
f F rgid RGID
fname COMAND rss RS
gid GID ruid RUID
lgrp LGRP s S
lwp LWP sid SID
nlwp NLWP stime STIME
opri PRI taskid TASKID
osz SZ uid UID
pmem %MEM wchan WCHAN
pri PRI zone ZONE
ctid CTID zoneid ZONEID
EXAMPLES
Example 1 Using ps Command
The command:
example% ps -o user,pid,ppid=MOM -o args
writes the following in the POSIX locale:
USER PID MOM COMAND
helene 34 12 ps -o uid,pid,ppid=MOM -o args
The contents of the COMAND 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, LCAL,
LCTYPE, LCMESAGES, LCTIME, and NLSPATH.
SunOS 5.11 Last change: 9 Jan 2008 13
User Commands ps(1)
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
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 9 Jan 2008 14
User Commands ps(1)
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWcsu
CSI Enabled (see USAGE)
Interface Stability Committed
Standard See standards(5).
SEE ALSO
kill(1), lgrpinfo(1), nice(1), pagesize(1), pmap(1),
priocntl(1), who(1), getty(1M), proc(4), ttysrch(4), attri-
butes(5), environ(5), resourcecontrols(5), standards(5),
zones(5)
NOTES
Things can change while ps is running. The snapshot it gives
is true only for a split-second, and it might not be accu-
rate by the time you see it. Some data printed for defunct
processes is irrelevant.
If no options to select processes are specified, ps reports
all processes associated with the controlling terminal. If
there is no controlling terminal, there is no report other
than the header.
ps -ef or ps -o stime might 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).
SunOS 5.11 Last change: 9 Jan 2008 15
|