PS(1)                                                                    PS(1)


NAME
       ps - process status

SYNOPSIS
       ps [ acegklnstuvwxU# ]

DESCRIPTION
       Ps  prints  information about processes.  Normally, only your processes
       are candidates to be printed by ps; specifying a  causes  other  users’
       processes  to  be  candidates to be printed; specifying x includes pro‐
       cesses without control terminals in the candidate pool.

       All output formats include, for each process, the process id PID,  con‐
       trol  terminal  of  the  process  TT, cpu time used by the process TIME
       (this includes both user and system time), the state STAT of  the  pro‐
       cess,  and an indication of the COMMAND which is running.  The state is
       given by a sequence of four letters, e.g. ‘‘RWNA’’.  The  first  letter
       indicates  the  runnability of the process: R for runnable processes, T
       for stopped processes, P for processes in page wait,  D  for  those  in
       disk  (or  other  short term) waits, S for those sleeping for less than
       about 20 seconds, and I for idle (sleeping longer than  about  20  sec‐
       onds)  processes.   The  second  letter  indicates whether a process is
       swapped out, showing W if it is, or a blank if it is loaded  (in-core);
       a  process  which has specified a soft limit on memory requirements and
       which is exceeding that limit shows >; such a process is  (necessarily)
       not  swapped.   The third letter indicates whether a process is running
       with altered CPU scheduling priority (nice); if the process priority is
       reduced,  an  N is shown, if the process priority has been artificially
       raised then a ‘<’ is shown; processes running without special treatment
       have just a blank.  The final letter indicates any special treatment of
       the process for virtual memory replacement; the letters  correspond  to
       options  to  the  vadvise(2)  call;  currently  the possibilities are A
       standing for VA_ANOM, S for VA_SEQL and blank for VA_NORM; an  A  typi‐
       cally represents a lisp(1) in garbage collection, S is typical of large
       image processing programs which are using  virtual  memory  to  sequen‐
       tially address voluminous data.

       Here are the options:

       a    asks  for information about all processes with terminals (ordinar‐
            ily only one’s own processes are displayed).

       c    prints the command name, as stored internally in  the  system  for
            purposes  of  accounting, rather than the command arguments, which
            are kept in the process’ address space.  This is more reliable, if
            less  informative, since the process is free to destroy the latter
            information.

       e    Asks for the environment to be printed as well as the arguments to
            the command.

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

       k    causes  the  file  /vmcore  is  used  in  place  of  /dev/kmem and
            /dev/mem.  This is used for postmortem system debugging.

       l    asks for a long listing, with fields  PPID,  CP,  PRI,  NI,  ADDR,
            SIZE, RSS and WCHAN as described below.

       n    Asks  for numerical output.  In a long listing, the WCHAN field is
            printed numerically rather than symbolically, or, in a user  list‐
            ing, the USER field is replaced by a UID field.

       s    Adds the size SSIZ of the kernel stack of each process (for use by
            system maintainers) to the basic output format.

       tx   restricts output to processes whose controlling tty  is  x  (which
            should  be  specified as printed by ps, e.g.  t3 for tty3, tco for
            console, td0 for ttyd0, t?  for processes with no tty, t for  pro‐
            cesses at the current tty, etc).  This option must be the last one
            given.

       u    A user oriented output is produced.  This  includes  fields  USER,
            %CPU, NICE, SIZE, and RSS as described below.

       v    A  version  of  the output containing virtual memory statistics is
            output.  This includes fields RE,  SL,  PAGEIN,  SIZE,  RSS,  LIM,
            TSIZ, TRS, %CPU and %MEM, described below.

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

       x    asks even about processes with no terminal.

       U    causes  ps  to  update  a  private  database where is keeps system
            information.  Thus ‘‘ps U’’ should  be  included  in  the  /etc/rc
            file.

       #    A  process  number  may  be given, (indicated here by #), in which
            case the output is restricted to that process.  This  option  must
            also be last.

       A  second  argument  is  taken  to  be the file containing the system’s
       namelist.  Otherwise, /vmunix is used.  A third argument tells ps where
       to  look  for  core if the k option is given, instead of /vmcore.  If a
       fourth argument is given, it is taken to be the name of a swap file  to
       use instead of the default /dev/drum.

       Fields which are not common to all output formats:
       USER      name of the owner of the process
       %CPU      cpu  utilization  of  the process; this is a decaying average
                 over up to a minute of previous (real) time.  Since 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%.
       NICE      (or NI) process scheduling increment (see setpriority(2))
       SIZE      virtual size of the process (in 1024 byte units)
       RSS       real  memory (resident set) size of the process (in 1024 byte
                 units)
       LIM       soft limit on memory used, specified  via  a  call  to  setr
                 limit(2); if no limit has been specified then shown as xx
       TSIZ      size of text (shared program) image
       TRS       size of resident (real memory) set of text
       %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/o’s resulting from references by the process
                 to pages not loaded in core.
       UID       numerical user-id of process owner
       PPID      numerical id of parent of process
       CP        short-term cpu utilization factor (used in scheduling)
       PRI       process  priority  (non-positive  when  in  non-interruptible
                 wait)
       ADDR      swap address of the process
       WCHAN     event on which process is waiting (an address in the system).
                 A symbol is chosen that classifies the address, unless numer‐
                 ical output is requested (see the n flag).  In this case, the
                 initial part of the address is trimmed  off  and  is  printed
                 hexadecimally, e.g., 0x80004000 prints as 4000.

       F         flags associated with process as in <sys/proc.h>:

             SLOAD       000001  in core
             SSYS        000002  swapper or pager process
             SLOCK       000004  process being swapped out
             SSWAP       000008  save area flag
             STRC        000010  process is being traced
             SWTED       000020  another tracing flag
             SULOCK      000040  user settable lock in core
             SPAGE       000080  process in page wait state
             SKEEP       000100  another flag to prevent swap out
             SDLYU       000200  delayed unlock of pages
             SWEXIT      000400  working on exiting
             SPHYSIO     000800  doing physical i/o (bio.c)
             SVFORK      001000  process resulted from vfork()
             SVFDONE     002000  another vfork flag
             SNOVM       004000  no vm, parent in a vfork()
             SPAGI       008000  init data space on demand from inode
             SANOM       010000  system detected anomalous vm behavior
             SUANOM      020000  user warned of anomalous vm behavior
             STIMO       040000  timing out during sleep
             SDETACH     080000  detached inherited by init
             SOUSIG      100000  using old signal mechanism

       A  process that has exited and has a parent that has not yet waited for
       the process is marked <defunct>; a process which is blocked  trying  to
       exit  is  marked  <exiting>;  Ps makes an educated guess as to the file
       name and arguments given when the process was created by examining mem‐
       ory or the swap area.  The method is inherently somewhat unreliable and
       in any event a process is entitled to destroy this information, so  the
       names cannot be counted on too much.

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

SEE ALSO
       kill(1), w(1)

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


4th Berkeley Distribution        May 12, 1986                            PS(1)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1922
Valid CSS Valid XHTML 1.0 Strict