unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

PS(1)                       General Commands Manual                      PS(1)



NAME
       ps - display the status of current processes

SYNOPSIS
       ps [ [-]acCegjklnrSuUvwx ][ -tx ]|[ num ]
            [ kernel-name ] [ c-dump-file ] [ swap-file ]

DESCRIPTION
       ps  displays  information  about  processes.  Normally, only those pro-
       cesses that are running with your effective user ID and are attached to
       a  controlling  terminal  (see  termio(4)) are shown.  Additional cate-
       gories of processes can be added to the display using various  options.
       In  particular,  the -a option allows you to include processes that are
       not owned by you (that do not have your user ID),  and  the  -x  option
       allows  you  to  include processes without control terminals.  When you
       specify both -a and -x, you get processes  owned  by  anyone,  with  or
       without  a  control terminal.  The -r option restricts the list of pro-
       cesses printed to "running" processes:  runnable  processes,  those  in
       page wait, or those in short-term non-interruptible waits.

       ps  displays  the process ID, under PID; the control terminal (if any),
       under TT; the cpu time used by the process so far, including both  user
       and system time), under TIME; the state of the process, under STAT; and
       finally, an indication of the COMMAND that is running.

       The state is given by a sequence of four letters, for example, `RWNA'.

       First letter   indicates the runnability of the process:
                      R       Runnable processes.
                      T       Stopped processes.
                      P       Processes in page wait.
                      D       Processes in non-interruptible waits;  typically
                              short-term waits for disk or NFS I/O.
                      S       Processes  sleeping  for less than about 20 sec-
                              onds.
                      I       Processes that are idle  (sleeping  longer  than
                              about 20 seconds).
                      Z       Processes  that  have  terminated  and  that are
                              waiting  for  their  parent  process  to  do   a
                              wait(2V) ("zombie" processes).

       Second letter  indicates whether a process is swapped out;
                      blank   Represented  as a SPACE character, in this posi-
                              tion indicates that the process  is  loaded  (in
                              memory).
                      W       Process is swapped out.
                      >>       Process  has  specified  a  soft limit on memory
                              requirements and has exceeded that limit; such a
                              process is (necessarily) not swapped.

       Third letter   indicates  whether a process is running with altered CPU
                      scheduling priority (nice(1)):
                      blank   Represented as a SPACE character, in this  posi-
                              tion indicates that the process is running with-
                              out special treatment.
                      N       The process priority is reduced,
                      <&lt;       The process priority  has  been  raised  artifi-
                              cially.

       Fourth letter  indicates  any special treatment of the process for vir-
                      tual memory  replacement.   The  letters  correspond  to
                      options  to  the  vadvise(2) system call.  Currently the
                      possibilities are:
                      blank   Represented as a SPACE character, in this  posi-
                              tion stands for VA_NORM.
                      A       Stands for VA_ANOM.  An A typically represents a
                              program which is doing garbage collection.
                      S       Stands for VA_SEQL.  An S is  typical  of  large
                              image processing programs that are using virtual
                              memory to sequentially address voluminous data.

       kernel-name specifies the location of the system namelist.  If  the  -k
       option  is given, c-dump-file tells ps where to look for the core dump.
       Otherwise, the core dump is located in the file /vmcore and this  argu-
       ment  is  ignored.   swap-file  gives the location of a swap file other
       than the default, /dev/drum.

OPTIONS
       Options must all be combined to form the first argument.

       -a   Include information about processes owned by others.

       -c   Display the command name, as stored internally in the  system  for
            accounting  purposes, rather than the command arguments, which are
            kept in the process address space.  This is more reliable, if less
            informative, as the process is free to destroy the latter informa-
            tion.

       -C   Display raw CPU time instead of the decaying average in  the  %CPU
            field.

       -e   Display the environment as well as the arguments to the command.

       -g   Display  all  processes.   Without  this  option,  ps  prints only
            "interesting" processes.  Processes are deemed to be uninteresting
            if  they are process group leaders.  This normally eliminates top-
            level command interpreters and  processes  waiting  for  users  to
            login on free terminals.

       -j   Display  a listing useful for job control information, with fields
            PPID, PID, PGID, SID, TT, TPGID, STAT, UID, TIME, and  COMMAND  as
            described below.

            With this option, the STAT field has three additional letters:

            C      indicates  the  process  does not want SIGCHLD when a child
                   changes state done to job control.

            E      The process has completed an exec, and the  parent  can  no
                   longer change the process group of this process.

            O      The  process is an orphan, with no parent process to handle
                   job control signals.

       -k   Normally, kernel-name defaults to /vmunix, c-dump-file is ignored,
            and  swap-file  defaults  to  /dev/drum.   With  the  -k option in
            effect,  these  arguments  default  to   /vmunix,   /vmcore,   and
            /dev/drum, respectively.

       -l   Display a long listing, with fields F, PPID, CP, PRI, NI, SZ, RSS,
            and WCHAN, as described below.

       -n   Produce numeric output for some fields.  In a  long  listing,  the
            WCHAN  field  is printed numerically rather than symbolically, or,
            in a user listing, the USER field is replaced by a UID field.

       -r   Restrict output to "running" processes.

       -S   Display accumulated CPU time used by this process and all  of  its
            reaped children.

       -u   Display  user-oriented  output.   This includes fields USER, %CPU,
            %MEM, SZ, RSS and START as described below.

       -U   Update a private  database  where  ps  keeps  system  information.
            Include `ps -U' in the /etc/rc file.

       -v   Display a version of the output describing virtual memory informa-
            tion.  This includes fields RE, SL, PAGEIN, SIZE, RSS,  LIM,  %CPU
            and %MEM, described below.

       -w   Use  a  wide  output  format  (132  columns  rather  than  80); if
            repeated, that is, -ww, use arbitrarily wide output.  This  infor-
            mation is used to decide how much of long commands to print.

       -x   Include processes with no controlling terminal.

       The  following  two  options  are  mutually exclusive.  When specified,
       these options must appear immediately following the last option.

       -tx    Restrict output to processes whose  controlling  terminal  is  x
              (which should be specified as printed by ps; for example, t3 for
              /dev/tty3, tco for /dev/console, td0  for  /dev/ttyd0,  t?   for
              processes  with no terminal, etc).  This option must be the last
              one given.

       num    A process number may be given,  in  which  case  the  output  is
              restricted  to that process.  This option must also be last, and
              must appear with no white space  between  it  and  the  previous
              option.

DISPLAY FORMATS
       Fields that are not common to all output formats:
       USER        Name of the owner of the process.
       %CPU        CPU  use of the process; this is a decaying average over up
                   to a minute of previous (real) time.  Because the time base
                   over  which this is computed varies (since processes may be
                   very young) it is possible for the sum of all  %CPU  fields
                   to exceed 100%.
       NI          Process   scheduling   increment  (see  getpriority(2)  and
                   nice(3V)).
       SIZE
       SZ          The combined size of the data and stack segments (in  kilo-
                   bytes)

       RSS         Real  memory  (resident  set) size of the process (in kilo-
                   bytes).

       LIM         Soft limit on memory used, specified using a call to  getr-
                   limit(2);  if no limit has been specified, this is shown as
                   xx.

       %MEM        Percentage of real memory used by this process.

       RE          Residency time of the process (seconds in core).

       SL          Sleep time of the process (seconds blocked).

       PAGEIN      Number of  disk  I/Os  resulting  from  references  by  the
                   process to pages not loaded in core.

       UID         Numeric user-ID of process owner.

       PPID        Numeric ID of parent of process.


       SID         Numeric  ID  of  the  session  to  which the process
                   belongs. SID  =  PGID  =  PID  indicates  a  session
                   leader.

       PGID        Numeric ID of the process group of the process.

       TPGID       Numeric  ID of the process group associated with the
                   terminal specified under TT  (distinguished  process
                   group, see termio(4)).

       CP          Short-term  CPU utilization factor (used in schedul-
                   ing).

       PRI         Process priority (non-positive  when  in  non-inter-
                   ruptible wait).

       START       Time  the  process was created if today, or the date
                   it was created if before today.

       WCHAN       Event on which process is waiting (an address in the
                   system).   A  symbol  is  chosen that classifies the
                   address, unless numeric output is requested (see the
                   n  flag).   In  this case, the address is printed in
                   hexadecimal.


       F           Flags  (in  hex)  associated  with  process  as   in
                   <sys/proc.h>:

                   ;   lfB   l   l   .    SLOAD     00000001  in   core
                   SSYS 00000002  swapper     or     pager      process
                   SLOCK     00000004  process    being   swapped   out
                   SSWAP     00000008  save          area          flag
                   STRC 00000010  process      is      being     traced
                   SWTED     00000020  parent  has   been   told   that
                             this            process            stopped
                   SULOCK    00000040  user  can  set  lock   in   core
                   SPAGE     00000080  process   in   page  wait  state
                   SKEEP     00000100  another    flag    to    prevent
                             swap  out  SOMASK    00000200  restore old
                   mask       after                 taking       signal
                   SWEXIT    00000400  working        on        exiting
                   SPHYSIO   00000800  doing        physical        I/O
                   SVFORK    00001000  process       resulted      from
                             vfork() SVFDONE   00002000  another  vfork
                   flag  SNOVM     00004000  no vm, parent in a vfork()
                   SPAGI     00008000  init  data  space   on   demand,
                             from vnode SSEQL     00010000  user warned
                   of      sequential                 vm       behavior
                   SUANOM    00020000  user    warned    of   anomalous
                             vm behavior STIMO     00040000  timing out
                   during sleep SORPHAN   00080000  process is orphaned
                   STRACNG   00100000  process   is   tracing   another
                             process   SOWEUPC   00200000  process   is
                   being profiled           and  has  a  pending  count
                   increment  SSEL 00400000  selecting;  wakeup/waiting
                             danger SFAVORD   02000000  favored  treat-
                   ment   in             swapout   and   pageout   SLK-
                   DONE   04000000  record-locking       has       been
                             done   STRCSYS   08000000  tracing  system
                   calls SNOCLDSTOP     10000000  SIGCHLD not sent when
                             child   stops  SEXECED   20000000  process
                   has completed           an exec  SRPC 40000000  sun-
                   view window locking

       A process that has exited and has a parent, but has not yet been
       waited for by the parent, is marked <defunct>; a process that is
       blocked  trying to exit is marked <exiting>; otherwise, ps makes
       an educated guess as to the file name and arguments  given  when
       the process was created by examining memory or the swap area.

ENVIRONMENT
       The environment variables LC_CTYPE, LANG, and LC_default control
       the character classification throughout ps.   On  entry  to  ps,
       these  environment variables are checked in the following order:
       LC_CTYPE, LANG, and LC_default.  When a valid  value  is  found,
       remaining environment variables for character classification are
       ignored.  For example, a new setting for LANG does not  override
       the  current  valid  character classification rules of LC_CTYPE.
       When none of the values is valid, the shell character  classifi-
       cation defaults to the POSIX.1 "C" locale.

FILES
       /vmunix             system namelist
       /dev/kmem           kernel memory
       /dev/drum           swap device
       /vmcore             core file
       /dev                searched  to  find  swap device and terminal
                           names
       /etc/psdatabase     system namelist, device,  and  wait  channel
                           information

SEE ALSO
       kill(1),  w(1),  getpriority(2),  getrlimit(2),  wait(2V),  vad-
       vise(2), nice(3V), termio(4), locale(5), pstat(8)

BUGS
       Things can change while ps is running; the picture it  gives  is
       only a close approximation to the current state.





                                2 October 1989                           PS(1)