Annotation of 43BSDTahoe/man/man1/ps.1, revision 1.1.1.1

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