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.