[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    ps(1) manual page Table of Contents

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 associated with the controlling terminal. The output contains only the process 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
Print information about all processes most frequently requested: all those except process group leaders and processes not associated 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 output 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 significance 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 gidlist. The gidlist 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 specification 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 ID s appear in sidlist.
-t term
List only process data associated with term. Terminal identifiers are specified as a device file name, and an identifier. For example, 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 uidlist. The uidlist 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 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: 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. 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 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).
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 computation. 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 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.
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 variable has a default header. The default header can be overridden 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 written 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 recognized 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 representation 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 representation 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 process (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 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 implementation:

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 kilobytes 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 8 bytes 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 SpecifierDefault HeaderFormat SpecifierDefault Header
argsCOMMANDppidPPID
commCOMMANDrgroupRGROUP
etimeELAPSEDruserRUSER
groupGROUPtimeTIME
niceNIttyTT
pcpu%CPUuserUSER
pgidPGIDvszVSZ
pidPID

The following table lists the Solaris implementation format specifiers and the default header used with each.

Format SpecifierDefault HeaderFormat SpecifierDefault Header
addrADDRpriPRI
cCrgidRGID
classCLSrssRSS
fFruidRUID
fnameCOMMANDsS
gidGIDsidSID
opriPRIstimeSTIME
oszSZuidUID
pmem%MEMwchanWCHAN

Examples

The command:
example% ps -o user,pid,ppid=MOM -o args

writes the following in the POSIX locale:

USERPIDMOMCOMMAND
helene3412ps -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:
  1. 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 terminal. 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.


    Table of Contents