Annotation of cci/usr/src/man/man1/ps.1, revision 1.1.1.1

1.1       root        1: .TH PS 1 "13 April 1983"
                      2: .UC 4
                      3: .SH NAME
                      4: ps \- process status
                      5: .SH SYNOPSIS
                      6: .B ps
                      7: [
                      8: .B acegklstuvwx#
                      9: ]
                     10: .SH DESCRIPTION
                     11: .I Ps
                     12: prints information about processes.
                     13: Normally, only your processes are candidates to be printed by
                     14: .I ps;
                     15: specifying
                     16: .B a
                     17: causes other users processes to be candidates to be printed;
                     18: specifying
                     19: .B x
                     20: includes processes without control terminals in the candidate pool.
                     21: .PP
                     22: All output formats include, for each process, the process id PID,
                     23: control terminal of the process TT, cpu time used by the process TIME
                     24: (this includes both user and system time), the state STAT of the process,
                     25: and an indication of the COMMAND which is running.
                     26: The state is given by a sequence of four letters, e.g. ``RWNA''.
                     27: The first letter indicates the runnability of the process:
                     28: R for runnable processes,
                     29: T for stopped processes,
                     30: P for processes in page wait,
                     31: D for those in disk (or other short term) waits,
                     32: S for those sleeping for less than about 20 seconds,
                     33: and I for idle (sleeping longer than about 20 seconds)
                     34: processes.
                     35: The second letter indicates whether a process is swapped out,
                     36: showing W if it is, or a blank if it is loaded (in-core);
                     37: a process which has specified a soft limit on memory requirements
                     38: and which is exceeding that limit shows >; such a process is (necessarily)
                     39: not swapped.
                     40: The third letter indicates whether a process is running with altered
                     41: CPU scheduling priority (nice); if the process priority is reduced,
                     42: an N is shown, if the process priority has been artificially raised then
                     43: a `<' is shown; processes running without special treatment have just a
                     44: blank.
                     45: The final letter indicates any special treatment of the process for virtual
                     46: memory replacement; the letters correspond to options to the
                     47: .IR vadvise (2)
                     48: call; currently the possibilities are A standing for VA_ANOM, 
                     49: S for VA_SEQL and blank for VA_NORM; an A typically represents a
                     50: .IR lisp (1)
                     51: in garbage collection, S is typical of large image processing programs
                     52: which are using virtual memory to sequentially address voluminous data.
                     53: .PP
                     54: Here are the options:
                     55: .TP 5
                     56: .B a
                     57: asks for information about all processes with terminals (ordinarily
                     58: only one's own processes are displayed).
                     59: .TP 5
                     60: .B c
                     61: prints the command name, as stored internally in the system for purposes
                     62: of accounting, rather than the command arguments, which are kept
                     63: in the process' address space.  This is more reliable, if less informative,
                     64: since the process is free to destroy the latter information.
                     65: .TP 5
                     66: .B e
                     67: Asks for the environment to be printed as well as the arguments to the command.
                     68: .TP 5
                     69: .B g
                     70: Asks for all processes.
                     71: Without this option,
                     72: .I ps
                     73: only prints ``interesting'' processes.
                     74: Processes are deemed to be uninteresting if they are process group leaders.
                     75: This normally eliminates top-level command interpreters and processes
                     76: waiting for users to login on free terminals.
                     77: .TP 5
                     78: .B k
                     79: causes the file
                     80: .I /vmcore
                     81: is used in place of
                     82: .IR /dev/kmem " and " /dev/mem.
                     83: This is used for
                     84: postmortem system debugging.
                     85: .TP 5
                     86: .B l
                     87: asks for a long listing, with fields PPID, CP, PRI, NI, ADDR, SIZE, RSS and
                     88: WCHAN as described below.
                     89: .TP 5
                     90: .B s
                     91: Adds the size SSIZ of the kernel stack of each process (for use by system
                     92: maintainers) to the basic output format.
                     93: .TP 5
                     94: \fBt\fIx\fR
                     95: restricts output to processes whose controlling tty is \fIx\fR
                     96: (which should be specified as printed by
                     97: .I ps,
                     98: e.g.
                     99: .I t3
                    100: for tty3,
                    101: .I tco
                    102: for console,
                    103: .I td0
                    104: for ttyd0,
                    105: .I t?
                    106: for processes with no tty,
                    107: .I t
                    108: for processes at the current tty,
                    109: etc).
                    110: This option must be the last one given.
                    111: .TP 5
                    112: .B u
                    113: A user oriented output is produced.
                    114: This includes fields USER, %CPU, NICE, SIZE, and RSS as described below.
                    115: .TP 5
                    116: .B v
                    117: A version of the output containing virtual memory statistics is output.
                    118: This includes fields RE, SL, PAGEIN, SIZE, RSS, LIM, TSIZ, TRS, %CPU
                    119: and %MEM, described below.
                    120: .TP 5
                    121: .B w
                    122: Use a wide output format (132 columns rather than 80); if repeated,
                    123: e.g. ww, use arbitrarily wide output.
                    124: This information is used to decide how much of long commands to print.
                    125: .TP 5
                    126: .B x
                    127: asks even about processes with no terminal.
                    128: .TP 5
                    129: .B #
                    130: A process number may be given,
                    131: (indicated here by #),
                    132: in which case the output
                    133: is restricted to that process.
                    134: This option must also be last.
                    135: .PP
                    136: A second argument is taken 
                    137: to be the file containing the system's
                    138: namelist.  Otherwise, /vmunix is used.
                    139: A third argument tells
                    140: .I ps
                    141: where to look for
                    142: .I core
                    143: if the
                    144: .B k
                    145: option is given, instead of /vmcore.
                    146: If a fourth argument is given, it
                    147: is taken to be the name of a swap file to use instead of
                    148: the default /dev/drum.
                    149: .PP
                    150: Fields which are not common to all output formats:
                    151: .PD 0
                    152: .IP USER 10
                    153: name of the owner of the process
                    154: .IP %CPU 10
                    155: cpu utilization of the process; this is a decaying average over up to
                    156: a minute of previous (real) time.  Since the time base over which this
                    157: is computed varies (since processes may be very young) it is possible
                    158: for the sum of all %CPU fields to exceed 100%.
                    159: .IP NICE 10
                    160: (or NI) process scheduling increment (see
                    161: .IR setpriority (2))
                    162: .IP SIZE 10
                    163: virtual size of the process (in 1024 byte units)
                    164: .IP RSS 10
                    165: real memory (resident set) size of the process (in 1024 byte units)
                    166: .IP LIM 10
                    167: soft limit on memory used, specified via a call to
                    168: .IR setrlimit (2);
                    169: if no limit has been specified then shown as \fIxx\fR
                    170: .IP TSIZ 10
                    171: size of text (shared program) image
                    172: .IP TRS 10
                    173: size of resident (real memory) set of text
                    174: .IP %MEM 10
                    175: percentage of real memory used by this process.
                    176: .IP RE 10
                    177: residency time of the process (seconds in core)
                    178: .IP SL 10
                    179: sleep time of the process (seconds blocked)
                    180: .IP PAGEIN 10
                    181: number of disk i/o's resulting from references by the process
                    182: to pages not loaded in core.
                    183: .IP UID 10
                    184: numerical user-id of process owner
                    185: .IP PPID 10
                    186: numerical id of parent of process
                    187: .IP CP 10
                    188: short-term cpu utilization factor (used in scheduling)
                    189: .IP PRI 10
                    190: process priority (non-positive when in non-interruptible wait)
                    191: .IP ADDR 10
                    192: swap address of the process
                    193: .IP WCHAN 10
                    194: event on which process is waiting (an address in the system), with
                    195: the initial part of the address trimmed off e.g. 80004000 prints
                    196: as 4000.
                    197: .sp
                    198: .IP F 10
                    199: flags associated with process as in
                    200: .RI < sys/proc.h >:
                    201: .br
                    202: .PP
                    203: .sp
                    204: .nf
                    205: .ta 6n 18n 26n
                    206:        SLOAD   000001  in core
                    207:        SSYS    000002  swapper or pager process
                    208:        SLOCK   000004  process being swapped out
                    209:        SSWAP   000008  save area flag
                    210:        STRC    000010  process is being traced
                    211:        SWTED   000020  another tracing flag
                    212:        SULOCK  000040  user settable lock in core
                    213:        SPAGE   000080  process in page wait state
                    214:        SKEEP   000100  another flag to prevent swap out
                    215:        SDLYU   000200  delayed unlock of pages
                    216:        SWEXIT  000400  working on exiting
                    217:        SPHYSIO 000800  doing physical i/o (bio.c)
                    218:        SVFORK  001000  process resulted from vfork()
                    219:        SVFDONE 002000  another vfork flag
                    220:        SNOVM   004000  no vm, parent in a vfork()
                    221:        SPAGI   008000  init data space on demand from inode
                    222:        SANOM   010000  system detected anomalous vm behavior
                    223:        SUANOM  020000  user warned of anomalous vm behavior
                    224:        STIMO   040000  timing out during sleep
                    225:        SDETACH 080000  detached inherited by init
                    226:        SOUSIG  100000  using old signal mechanism
                    227: .fi
                    228: .PD
                    229: .PP
                    230: A process that has exited and has a parent, but has not
                    231: yet been waited for by the parent is marked <defunct>; a process
                    232: which is blocked trying to exit is marked <exiting>;
                    233: .I Ps
                    234: makes an educated guess as to the file name
                    235: and arguments given when the process was created
                    236: by examining memory or the swap area.
                    237: The method is inherently somewhat unreliable and in any event
                    238: a process is entitled to destroy this information,
                    239: so the names cannot be counted on too much.
                    240: .SH FILES
                    241: .ta \w'/usr/sys/core 'u
                    242: /vmunix        system namelist
                    243: .br
                    244: /dev/kmem      kernel memory
                    245: .br
                    246: /dev/drum      swap device
                    247: .br
                    248: /vmcore        core file
                    249: .br
                    250: /dev   searched to find swap device and tty names
                    251: .SH "SEE ALSO"
                    252: kill(1), w(1)
                    253: .SH BUGS
                    254: Things can change while
                    255: .I ps
                    256: is running; the picture it gives is only a close
                    257: approximation to reality.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.