ppss -- Command

Print process status
ppss [-][aaddeeffggllmmnnrrttwwxx] [-cc _s_y_s] [_m_e_m] [-pp_p_i_d,_p_i_d,...,_p_i_d]

ppss  prints  information  about  a  process  or processes.   It  prints  the
information in  fields, followed  by the  command name and  arguments.  The
fields include the following:

TTTTYY     The controlling  terminal of  the command,  printed in  short form.
        For example, ``tty44:'' means /ddeevv/ttttyy4444. A  dash means there is no
        controlling terminal.

PPIIDD     Process id; necessary to know when the process is to be killed.

GGRROOUUPP   PID of the  group leader  of the process,  that is, the  shell that
        started up when the user logged in.

PPPPIIDD    PID of the parent of the process; very often a shell.

UUIIDD     User id or name of the owner.

KK       Size of the process, in kilobytes.

FF       Process flag bits, as follows:

        PPFFCCOORREE  00001 Process is in core
        PPFFLLOOCCKK  00002 Process is locked in core
        PPFFSSWWIIOO  00004 Swap I/O in progress
        PPFFSSWWAAPP  00010 Process is swapped out
        PPFFWWAAIITT  00020 Process is stopped (not waited)
        PPFFSSTTOOPP  00040 Process is stopped (waited on)
        PPFFTTRRAACC  00100 Process is being traced
        PPFFKKEERRNN  00200 Kernel process
        PPFFAAUUXXMM  00400 Auxiliary segments in memory
        PPFFDDIISSPP  01000 Dispatch at earliest convenience
        PPFFNNDDMMPP  02000 Command mode forbids dump
        PPFFWWAAKKEE  04000 Wakeup requested

SS       State of the process, as follows:

        RR   Ready to run (waiting for CPU time)
        SS   Stopped for other reasons (I/O completion, pause, etc.)
        TT   Being traced by another process
        WW   Waiting for an existent child
        ZZ   Zombie (dead, but parent not waiting)

EEVVEENNTT   The  condition  that   the  process  is   anticipating.   This  not
        applicable if the process is ready to run.  The following gives the
        legal symbolic  names  of events.   If  a driver  does not  support
        symbolic  event  names,  ppss  prints  a  unique  hexadecimal  number
        instead:

        _S_y_s_t_e_m _S_l_e_e_p_s:
        bbppwwaaiitt    Wait for a buffer to become valid
        bbuuffnneeeedd   Wait for a free buffer to become available
        bbwwrriittee    Wait for a buffer write to finish
        iioorreeqq
        ppaauussee     This process is in the ppaauussee() system call
        ppiippee ddaattaa Wait for data to appear in a pipe
        ppoollll      Wake for polled event, poll timeout, or signal
        ppttrraaccee    Send a ppttrraaccee command to a traced child
        ppttrreett     Wait for signal processing in a traced child to complete
        ppwwrriittee    Wait for a pipe to empty enough for a write
        sswwaapp      Wait for a process to get swapped in
        wwaaiitt      Wait for a child to terminate
        wwaaiittqq     Wait for more character queues to become available

        _D_r_i_v_e_r _S_l_e_e_p_s
        aahhaa:ccccbb   AHA-154x driver is waiting for a SCSI command to complete
        nnkkbbccmmdd
        nnkkbbccmmdd...
        nnkkbbccmmdd22
        nnkkbbccmmdd22...nnkkbb is waiting for a command to complete
        ppttyyccdd     Pseudoterminal driver is waiting for carrier
        ppttyyrreeaadd   Pseudoterminal driver is waiting for a read
        ppttyywwrriittee  Pseudoterminal driver is waiting for a write
        ttttyyddrraaiinn  Line discipline is waiting for a tty to drain
        ttttyyiiooddrrnn  iiooccttll() asked line discipline to let tty output drain
        ttttyyooqq     Line discipline is waiting for an output queue to drain
        ttttyywwaaiitt   Line discipline is waiting for more data

CCVVAALL SSVVAALL IIVVAALL RRVVAALL
        Scheduling information; bigger is better.

UUTTIIMMEE   Time consumed while running in the program (in seconds).

SSTTIIMMEE   Time consumed while running in the system (in seconds).

Normally, ppss displays the TTTTYY and PPIIDD fields of each active process started
on the caller's  terminal, as well as the command  name and arguments.  The
following flags alter this behavior.

-aa   Display information about processes started from all terminals.

-cc _s_y_s
     This option does nothing; it  is included to preserve the integrity of
     some shell scripts.

-dd   Print information about status of loadable drivers.

-ee   Same  as   -aa.   This  is   included  for  compatibility   with  other
     implementation of ppss.

-ff   Blank  fields  have `-'  place-holders.   This enables  field-oriented
     commands like ssoorrtt and aawwkk to process the output.

-gg   Print the group leader field GROUP if the ll option is given.

-kk _m_e_m
     The next  argument _m_e_m is  the memory image  (default, /ddeevv/mmeemm). Note
     that  this argument  currently does  nothing; it  is included  only to
     preserve old  shell scripts.  The COHERENT  implementation of ppss reads
     information from  /ddeevv/ppss. This permits  ppss to be  smaller and faster,
     helps to avoid ``ghosts,'' and to be atomic.

-ll   Long format.  In addition to the  TTY and PID fields, prints the PPID,
     UID, K, F, S and EVENT fields.

-mm   This option does nothing; it  is included to preserve the integrity of
     some shell scripts.

-nn   Suppress the header line.

-pp_p_i_d,_p_i_d,...,_p_i_d
     Print  information  for  each process  identifier  _p_i_d  in the  comma-
     separated list.

-rr   Print  the real  size  of the  process,  which includes  the user  and
     auxiliary segments assigned  to the process.  Because the user segment
     (usually 1  kilobyte) is shared  by all processes owned  by that user,
     this may give a misleading total size for all the user's processes.

-tt   Print elapsed CPU time fields UTIME and STIME.

-ww   Wide format output; print 132 columns instead of 80.

-xx   Display processes which do not have a controlling terminal.

_F_i_l_e_s
/ddeevv/ppss -- Device for a system driver
/ddeevv/ttttyy* -- List of terminal names

_S_e_e _A_l_s_o
ccoommmmaannddss, kkiillll, mmeemm, ppss (driver), size, wait

_N_o_t_e_s
Each process  can modify  or destroy its  command name and  arguments.  The
state of the system changes even as ppss runs.
