




Command:   ps - process status
Syntax:    ps [-alxU] [kernel mm fs]
Flags:     -a  Print all processes with controlling terminals
           -l  Give long listing
           -x  Include processes without a terminal
           -U  Update (optional) name database
Examples:  ps -axl                  # Print all processes and  tasks  in
                                      long format
           ps -U /kernel /fs /mm    #   Update   database   with   given
                                      namelists

     Ps prints the  status  of  active  processes.   Normally  only  the
caller's  own  processes  are listed in short format (the PID, TTY, TIME
and CMD fields as explained below).  The long listing contains:

  F   Kernel flags:
            001: free slot
            002: no memory map
            004: sending;
            010: receiving
            020: inform on pending signals
            040: pending signals
            100: being traced.

  S
      State:
            R: runnable
            W: waiting (on a message)
            S: sleeping (i.e.,suspended on MM or FS)
            Z: zombie
            T: stopped

  UID, PID, PPID, PGRP
      The user, process, parent process and process group ID's.

  ADDR, SZ
      Decimal address and size of the process in kilobytes.

  RECV
      Process/task on which a receiving process is waiting or sleeping.

  TTY
      Controlling tty for the process.

  TIME
      Process' cumulative (user + system) execution time.

  CMD Command line arguments of the process.


     If extra arguments (the kernel, mm and fs nonstripped  executables)
are  given,  these are used to obtain the system addresses from (instead
of the default system executables).  This applies to the -U option also.
This  option  creates /etc/psdatabase that contains system addresses and
terminal names, after which ps is faster and  doesn't  need  the  system
executables anymore.


                                                                        



                                                                        


     The         default         system         executables          are
/usr/src/{kernel/kernel,mm/mm,fs/fs}.   If  the  database is updated, an
old psdatabase exists, and no paths are given to ps, it uses  the  paths
that  were  previously  stored in the database. A ps -U" in /etc/rc thus
generally ensures an up-to-date database.

     The files /dev/{mem,kmem} are used to read the  system  tables  and
command  line  arguments  from.   Terminal  names  in  /dev  are used to
generate the mnemonic names in the TTY column, so ps is  independent  of
terminal naming conventions.

     Warning: ps depends heavily  on  up-to-date  system  addresses  and
parameters.  It prints messages when they appear to be outdated.













































                                                                        

