|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.