Switch to SpeakEasy.net DSL

The Modular Manual Browser

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

PS(1)                       General Commands Manual                      PS(1)

       ps - display the status of current processes

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

       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-
                      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
                      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-

       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 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-

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

       -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

       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
       SZ          The combined size of the data and stack segments (in  kilo-

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

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

       %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  termi-
                   nal  specified  under  TT (distinguished process group, see

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

       PRI         Process priority (non-positive  when  in  non-interruptible

       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  sys-
                   tem).   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    SOR-
                   PHAN   00080000  process             is            orphaned
                   STRACNG   00100000  process     is     tracing      another
                             process SOWEUPC   00200000  process is being pro-
                   filed            and  has   a   pending   count   increment
                   SSEL 00400000  selecting;  wakeup/waiting            danger
                   SFAVORD   02000000  favored treatment in            swapout
                   and  pageout  SLKDONE   04000000  record-locking  has  been
                             done  STRCSYS   08000000  tracing  system   calls
                   SNOCLDSTOP     10000000  SIGCHLD      not     sent     when
                             child stops SEXECED   20000000  process has  com-
                   pleted             an  exec  SRPC 40000000  sunview  window

       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 try-
       ing 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.

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

       /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 informa-

       kill(1),  w(1),  getpriority(2),  getrlimit(2),  wait(2V),  vadvise(2),
       nice(3V), termio(4), locale(5), pstat(8)

       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)