solaris - ps (1)
NAME
ps - report process status
SYNOPSIS
ps [ -aAcdefjl ] [ -g grplist ] [ -n namelist ]
[[ -o format ] ... ] [ -p proclist ]
[ -s sidlist ] [ -t term ] [ -u uidlist ]
[ -U uidlist ] [ -G gidlist ]
AVAILABILITY
SUNWcsu
DESCRIPTION
The ps command prints information about active processes.
Without options, ps prints information about processes asso-
ciated with the controlling terminal. The output contains
only the process ID, terminal identifier, cumulative execu-
tion 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 Print information about all processes most
frequently requested: all those except pro-
cess group leaders and processes not associ-
ated with a terminal.
-A Write information for all processes.
-c Print information in a format that reflects
scheduler properties as described in
priocntl(1). The -c option affects the out-
put of the -f and -l options, as described
below.
-d Print information about all processes except
session leaders.
-e Print information about every process now
running.
-f Generate a full listing. (See below for sig-
nificance of columns in a full listing.)
-g grplist List 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 Write information for processes whose real
group ID numbers are given in grouplist. The
grouplist must be a single argument in the
form of a blank- or comma-separated list.
-j Print session ID and process group ID.
-l Generate a long listing. (See below.)
-n namelist Specify the name of an alternative system
namelist file in place of the default. This
option is accepted for compatibility, but is
ignored.
-o format Write 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 will be interpreted as the space-
character-separated concatenation of all the
format option-arguments.
-p proclist List only process data whose process ID
numbers are given in proclist.
-s sidlist List information on all session leaders whose
IDs appear in sidlist.
-t term List 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 List 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 Write information for processes whose real
user ID numbers or login names are given in
userlist. The userlist must be a single
argument in the form of a blank- or comma-
separated list.
With the exception of -o format, all of the options shown
are used to select processes. 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) associ-
ated 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.
Z Zombie state: process terminated
and parent not waiting.
T Process is stopped, either by a job
control signal or because it is
being traced.
UID (f,l) The effective user ID number of the pro-
cess (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 computa-
tion. Not printed when the -c option is
used. Only processes in the certain
scheduling classes have a nice value.
ADDR (l) The memory address of the process.
SZ (l) The size (in pages) of the swappable
process's image in main memory.
WCHAN (l) The address of an event for which the
process is sleeping (if blank, the pro-
cess is running).
STIME (f) The starting time of the process, given
in hours, minutes, and seconds. (A pro-
cess 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 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.
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 recognised 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 textual user ID, if it can be obtained and
the field width permits, or a decimal represen-
tation 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 otherwise.
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 represen-
tation 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
percentage. The meaning of ``recently'' in this
context is unspecified. The CPU time available
is determined in an unspecified manner.
vsz The size of the process in (virtual) memory in
kilobytes as a decimal integer.
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
process was started, in the form:
[[dd-]hh:]mm:ss
where
dd will represent the number of days,
hh the number of hours,
mm the number of minutes, and
ss 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 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 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 characters; 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.
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.
sid The process ID of the session leader.
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.
addr The memory address of the process.
osz The size (in pages) of the swappable process's
image in main memory.
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 as a decimal integer.
pmem The ratio of the process's resident set size to
the physical memory on the machine, expressed as
a percentage.
fname The first 16 characters 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 Specifier Default Header| Format Specifier Default 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 Specifier Default Header| Format Specifier Default Header|
|__________________________________|___________________________________|
| addr ADDR | pri PRI |
| c C | rgid RGID |
| class CLS | rss RSS |
| f F | ruid RUID |
| fname COMMAND | s S |
| gid GID | sid SID |
| opri PRI | stime STIME |
| osz SZ | uid UID |
| pmem %MEM | wchan WCHAN |
|__________________________________|___________________________________|
EXAMPLES
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
See environ(5) for descriptions of the following environment
variables that affect the execution of ps: 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
SEE ALSO
kill(1), nice(1), priocntl(1), who(1), getty(1M), proc(4),
ttysrch(4), environ(5)
NOTES
Things can change while ps is running; the snap-shot 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.
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.