BSD 4_3_Net_2 release
[unix-history] / usr / src / bin / ps / ps.1
index 87a6263..d9d5dc3 100644 (file)
-.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" Copyright (c) 1980, 1990, 1991 The Regents of the University of California.
 .\" All rights reserved.
 .\"
 .\" All rights reserved.
 .\"
-.\" Redistribution and use in source and binary forms are permitted provided
-.\" that: (1) source distributions retain this entire copyright notice and
-.\" comment, and (2) distributions including binaries display the following
-.\" acknowledgement:  ``This product includes software developed by the
-.\" University of California, Berkeley and its contributors'' in the
-.\" documentation or other materials provided with the distribution and in
-.\" all advertising materials mentioning features or use of this software.
-.\" Neither the name of the University nor the names of its contributors may
-.\" be used to endorse or promote products derived from this software without
-.\" specific prior written permission.
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
 .\"
 .\"
-.\"     @(#)ps.1       6.7 (Berkeley) 6/26/90
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
 .\"
 .\"
-.Dd June 26, 1990
-.Dd June 26, 1990
+.\"     @(#)ps.1       6.17 (Berkeley) 6/20/91
+.\"
+.Dd June 20, 1991
 .Dt PS 1
 .Os BSD 4
 .Sh NAME
 .Dt PS 1
 .Os BSD 4
 .Sh NAME
-.Nm ps
-.Nd display current process status
+.Nm \&ps
+.Nd process status
 .Sh SYNOPSIS
 .Sh SYNOPSIS
+.Nm \&ps
+.Op Fl aChjlmrSTuvwx
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl O Ar fmt
+.Op Fl o Ar fmt
+.Op Fl p Ar pid
+.Op Fl t Ar tty
+.Op Fl W Ar swap
 .Nm ps
 .Nm ps
-.Op Fl acegklnstuvwxU\&\#\&
+.Op Fl L
 .Sh DESCRIPTION
 .Sh DESCRIPTION
-.Nm Ps
-displays the current process status.
-Normally, only your processes are candidates to be printed by
-.Nm ps ;
-specifying
-.Fl a
-causes other users' processes to be candidates to be printed;
-specifying
-.Fl x
-includes processes without control terminals in the candidate pool.
-While
-.Nm ps
-is a fairly accurate snapshot of the system,
-.Nm Ps
-cannot begin and finish a snapshot of the system as fast as some processes
-themselves change state.  At times there may be minor discrepancies.
-.Pp
-All output formats include, for each process, the process id PID,
-control terminal of the process TT, cpu time used by the process TIME
-(this includes both user and system time), the state STAT of the process,
-and an indication of the COMMAND which is running.
-The state is given by a sequence of letters, e.g. ``RWNA''.
-The first letter indicates the runnability of the process:
-R for runnable processes,
-T for stopped processes,
-P for processes in page wait,
-D for those in disk (or other short term) waits,
-S for those sleeping for less than about 20 seconds,
-and I for idle (sleeping longer than about 20 seconds)
-processes.
-Additional characters after these, if any,
-indicate additional state information.
-The letter W indicates that a process is swapped out,
-showing W if it is, or a blank if it is loaded (in-core).
-A process which has specified a soft limit on memory requirements
-and which is exceeding that limit shows >; such a process is (necessarily)
-not swapped.
-An additional letter may indicate whether a process is running with altered
-CPU scheduling priority (nice); if the process priority is reduced,
-an N is shown, if the process priority has been artificially raised then
-a `<' is shown.
-The final optional letter
-indicates any special treatment of the process for virtual
-memory replacement; the letters correspond to options to the
-.Xr vadvise  2
-call; currently the possibilities are A standing for VA_ANOM and
-S for VA_SEQL.
-An A typically represents a
-.Xr lisp  1
-in garbage collection, and S is typical of large image processing programs
-which are using virtual memory to sequentially address voluminous data.
+.Nm \&Ps
+displays a header line followed by lines containing information about your
+processes that have controlling terminals.
+This information is sorted by process
+.Tn ID .
 .Pp
 .Pp
-Here are the options:
-.Tp Fl a
-asks for information regarding processes associated with terminals (ordinarily
-only one's own processes are displayed).
-.Tp Fl c
-prints the command name, as stored internally in the system for purposes
-of accounting, rather than the command arguments, which are kept
-in the process' address space.  This is more reliable, if less informative,
-since the process is free to destroy the latter information.
-.Tp Fl e
-Asks for the environment to be printed as well as the arguments to the command.
-.Tp Fl g
-Asks for all processes.
-Without this option,
-.Nm ps
-only prints ``interesting'' processes.
-Processes are deemed to be uninteresting if they are process group leaders.
-This normally eliminates top-level command interpreters and processes
-waiting for users to login on free terminals.
-.Tp Fl k
-causes the file
-.Pa /vmcore
-to be used instead of
-.Pa /dev/kmem
+The information displayed is selected based on a set of keywords (see the
+.Fl L
+.Fl O
 and
 and
-.Ar /dev/mem
-for non-interactive (after the fact)
-debugging.
-.Tp Fl l
-asks for a detailed list, with fields PPID, CP, PRI, NI, ADDR, SIZE, RSS and
-WCHAN as described below.
-.Tp Fl n
-Asks for numerical output.
-In a long listing, the WCHAN field is printed numerically rather than
-symbolically, or, in a user listing, the USER field is replaced by a
-UID field.
-.Tp Fl s
-Adds the size SSIZ of the kernel stack of each process (for use by system
-maintainers) to the basic output format.
-.Ct Fl t
-.Ar x
-.Cx
-Only output information on processes whose controlling tty is
-.Ar x
-(which should be specified as printed by
-.Nm ps ,
-e.g.
-.Ar t3
-for tty3,
-.Ar tco
-for console,
-.Ar td0
-for ttyd0,
-.Ar t ?
-for processes with no tty,
-.Ar t
-for processes at the current tty,
-etc).
-This option must be the last one given.
-.Tp Fl u
-A user oriented output is produced.
-This includes fields USER, %CPU, NICE, SIZE, and RSS as described below.
-.Tp Fl v
-A version of the output containing virtual memory statistics is output.
-This includes fields RE, SL, PAGEIN, SIZE, RSS, LIM, TSIZ, TRS, %CPU
-and %MEM, described below.
-.Tp Fl w
-Use a wide output format (132 columns rather than 80); if repeated,
-e.g. ww, use arbitrarily wide output.
-This information is used to decide how much of long commands to print.
-.Tp Fl x
-asks even about processes with no terminal.
-.Tp Fl U
-causes ps to update a private database where it keeps system
-information.  Thus ``ps U'' should be included in the
-.Pa /etc/rc
-file.
-.Tp Fl #
-A process number may be given,
-(indicated here by #),
-in which case the output
-is restricted to that process.
-This option must also be last.
-.Tp
+.Fl o
+options).
+The default output format includes, for each process, the process'
+.Tn ID ,
+controlling terminal, cpu time (including both user and system time),
+state, and associated command.
 .Pp
 .Pp
-A second argument is taken
-to be the file containing the system's
-namelist.  Otherwise, /vmunix is used.
-A third argument tells
-.Nm ps
-where to look for
-.Pa core
-if the
-.Fl k
-option is given, instead of
-.Pa /vmcore .
-If a fourth argument is given, it
-is taken to be the name of a swap file to use instead of
-the default
-.Pa /dev/drum .
+The options are as follows:
+.Bl -tag -width indent
+.It Fl a
+Display information about other users' processes as well as your own.
+.It Fl C
+Change the way the cpu percentage is calculated by using a ``raw''
+cpu calculation that ignores ``resident'' time (this normally has
+no effect).
+.It Fl h
+Repeat the information header as often as necessary to guarantee one
+header per page of information.
+.It Fl j
+Print information associated with the following keywords:
+user, pid, ppid, pgid, sess, jobc, state, tt, time and command.
+.It Fl L
+List the set of available keywords.
+.It Fl l
+Display information associated with the following keywords:
+uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time
+and command.
+.It Fl M
+Extract values associated with the name list from the specified core
+instead of the default
+.Dq Pa /dev/kmem .
+.It Fl m
+Sort by memory usage, instead of by process
+.Tn ID .
+.It Fl N
+Extract the name list from the specified system instead of the default
+.Dq Pa /vmunix .
+.It Fl O
+Add the information associated with the space or comma separated list
+of keywords specifed, after the process
+.Tn ID ,
+in the default information
+display.
+Keywords may be appended with an equals (``='') sign and a string.
+This causes the printed header to use the specified string instead of
+the standard header.
+.It Fl o
+Display information associated with the space or comma separated list
+of keywords specifed.
+Keywords may be appended with an equals (``='') sign and a string.
+This causes the printed header to use the specified string instead of
+the standard header.
+.It Fl p
+Display information associated with the specified process
+.Tn ID .
+.It Fl r
+Sort by current cpu usage, instead of by process
+.Tn ID .
+.It Fl S
+Change the way the process time is calculated by summing all exited
+children to their parent process.
+.It Fl T
+Display information about processes attached to the device associated
+with the standard input.
+.It Fl t
+Display information about processes attached to the specified terminal
+device.
+.It Fl u
+Display information associated with the following keywords:
+user, pid, %cpu, %mem, vsz, rss, tt, state, start, time and command.
+The
+.Fl u
+option implies the
+.Fl r
+option.
+.It Fl v
+Display information associated with the following keywords:
+pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, trss,
+%cpu, %mem and command.
+The
+.Fl v
+option implies the
+.Fl m
+option.
+.It Fl W
+Extract swap information from the specified file instead of the
+default
+.Dq Pa /dev/swap .
+.It Fl w
+Use 132 columns to display information, instead of the default which
+is your window size.
+If the
+.Fl w
+option is specified more than once,
+.Nm \&ps
+will use as many columns as necessary without regard for your window size.
+.It Fl x
+Display information about processes without controlling terminals.
+.El
 .Pp
 .Pp
-Fields which are not common to all output formats:
+A complete list of the available keywords are listed below.
+Some of these keywords are further specifed as follows:
+.Bl -tag -width indent
+.It %cpu
+The cpu utilization of the process; this is a decaying average over up to
+a minute of previous (real) time.
+Since the time base over which this is computed varies (since processes may
+be very young) it is possible for the sum of all
+.Tn \&%CPU
+fields to exceed 100%.
+.It %mem
+The percentage of real memory used by this process.
+.It flags
+The flags (in hexadecimal) associated with the process as in
+the include file
+.Aq Pa sys/proc.h :
+.Bl -column SNOCLDSTOP SNOCLDSTOP
+.It Dv "SLOAD" Ta No "0x0000001        in core"
+.It Dv "SSYS" Ta No "0x0000002 swapper or pager process"
+.It Dv "SLOCK" Ta No "0x0000004        process being swapped out"
+.It Dv "SSWAP" Ta No "0x0000008        save area flag"
+.It Dv "STRC" Ta No "0x0000010 process is being traced"
+.It Dv "SWTED" Ta No "0x0000020        another tracing flag"
+.It Dv "SSINTR" Ta No "0x0000040       sleep is interruptible"
+.It Dv "SPAGE" Ta No "0x0000080        process in page wait state"
+.It Dv "SKEEP" Ta No "0x0000100        another flag to prevent swap out"
+.It Dv "SOMASK" Ta No "0x0000200       restore old mask after taking signal"
+.It Dv "SWEXIT" Ta No "0x0000400       working on exiting"
+.It Dv "SPHYSIO" Ta No "0x0000800      doing physical"
+.Tn I/O
+.It Dv "SVFORK" Ta No "0x0001000       process resulted from"
+.Xr vfork 2
+.It Dv "SVFDONE" Ta No "0x0002000      another"
+.Xr vfork
+flag
+.It Dv "SNOVM" Ta No "0x0004000        no vm, parent in a"
+.Xr vfork
+.It Dv "SPAGV" Ta No "0x0008000        init data space on demand, from vnode"
+.It Dv "SSEQL" Ta No "0x0010000        user warned of sequential vm behavior"
+.It Dv "SUANOM" Ta No "0x0020000       user warned of random vm behavior"
+.It Dv "STIMO" Ta No "0x0040000        timing out during sleep"
+.It Dv "SNOCLDSTOP" Ta No "0x0080000   no"
+.Dv SIGCHLD
+when children stop
+.It Dv "SCTTY" Ta No "0x0100000        has a controlling terminal"
+.It Dv "SOWEUPC" Ta No "0x0200000      owe process an addupc() call at next ast"
+.\" the routine addupc is not documented in the man pages
+.It Dv "SSEL" Ta No "0x0400000 selecting; wakeup/waiting danger"
+.It Dv "SEXEC" Ta No "0x0800000        process called"
+.Xr exec 2
+.It Dv "SHPUX" Ta No "0x1000000        \\*(tNHP-UX\\*(sP process
+.Pq Dv HPUXCOMPAT
+.It Dv "SULOCK" Ta No "0x2000000       locked in core after swap error"
+.It Dv "SPTECHG" Ta No "0x4000000      pte's for process have changed"
+.El
+.It lim
+The soft limit on memory used, specified via a call to
+.Xr setrlimit 2 .
+.It lstart
+The exact time the command started, using the ``%C'' format described in
+.Xr strftime 3 .
+.It nice
+The process scheduling increment (see
+.Xr setpriority 2 ) .
+.It rss
+the real memory (resident set) size of the process (in 1024 byte units).
+.It start
+The time the command started.
+If the command started less than 24 hours ago, the start time is
+displayed using the ``%l:ps.1p'' format described in
+.Xr strftime 3 .
+If the command started less than 7 days ago, the start time is
+displayed using the ``%a6.15p'' format.
+Otherwise, the start time is displayed using the ``%e%b%y'' format.
+.It state
+The state is given by a sequence of letters, for example,
+.Dq Tn RWNA .
+The first letter indicates the run state of the process:
 .Pp
 .Pp
-.Dw PAGEIN
-.Dp Li USER
-name of the owner of the process
-.Dp Li %CPU
-cpu utilization of the process; this is a decaying average over up to
-a minute of previous (real) time.  Since the time base over which this
-is computed varies (since processes may be very young) it is possible
-for the sum of all %CPU fields to exceed 100%.
-.Dp Li NICE
-(or NI) process scheduling increment (see
-.Xr setpriority  2  )
-.Dp Li SIZE
-virtual size of the process (in 1024 byte units)
-.Dp Li RSS
-real memory (resident set) size of the process (in 1024 byte units)
-.Dp Li LIM
-soft limit on memory used, specified via a call to
-.Xr setrlimit  2  ;
-if no limit has been specified then shown as
-.Ar xx
-.Dp Li TSIZ
-size of text (shared program) image
-.Dp Li TRS
-size of resident (real memory) set of text
-.Dp Li %MEM
-percentage of real memory used by this process.
-.Dp Li RE
-residency time of the process (seconds in core)
-.Dp Li SL
-sleep time of the process (seconds blocked)
-.Dp Li PAGEIN
-number of disk i/o's resulting from references by the process
-to pages not loaded in core.
-.Dp Li UID
-process owner's user-id (numerical)
-.Dp Li PPID
-parent process id (numerical)
-.Dp Li CP
-short-term cpu utilization factor (used in scheduling)
-.Dp Li PRI
-process priority (non-positive when in non-interruptible wait)
-.Dp Li ADDR
-swap address of the process
-.Dp Li WCHAN
-address of event on which a process is waiting (an address in the system).
-A symbol is chosen that classifies the address, unless numerical
-output is requested (see the
-.Fl n
-flag).
-In this case, the initial part of the address is
-trimmed off and is printed hexadecimally, e.g., 0x80004000 prints as 4000.
+.Bl -tag -width indent -compact
+.It D
+Marks a process in disk (or other short term, uninterruptable) wait.
+.It I
+Marks a process that is idle (sleeping for longer than about 20 seconds).
+.It P
+Marks a process in page wait.
+.It R
+Marks a runnable process.
+.It S
+Marks a process that is sleeping for less than about 20 seconds.
+.It T
+Marks a stopped process.
+.It Z
+Marks a dead process (a ``zombie'').
+.El
 .Pp
 .Pp
-.Dp Li F
-flags associated with process as in
-.Aq Pa sys/proc.h :
+Additional characters after these, if any, indicate additional state
+information:
 .Pp
 .Pp
-.Cw SDETACH 080000
-.Cl SLOAD      000001  in core
-.Cl SSYS       000002  swapper or pager process
-.Cl SLOCK      000004  swapping out process
-.Cl SSWAP      000008  save area flag
-.Cl STRC       000010  tracing the process
-.Cl SWTED      000020  trace flag
-.Cl SULOCK     000040  user settable lock in core
-.Cl SPAGE      000080  process in page wait state
-.Cl SKEEP      000100  another flag to prevent swap out
-.Cl SDLYU      000200  delayed unlock of pages
-.Cl SWEXIT     000400  working on exiting
-.Cl SPHYSIO    000800  doing physical i/o (bio.c)
-.Cl SVFORK     001000  process resulted from vfork()
-.Cl SVFDONE    002000  another vfork flag
-.Cl SNOVM      004000  no vm, parent in a vfork()
-.Cl SPAGI      008000  init data space on demand from inode
-.Cl SANOM      010000  system detected anomalous vm behavior
-.Cl SUANOM     020000  user warned of anomalous vm behavior
-.Cl STIMO      040000  timing out during sleep
-.Cl SDETACH    080000  detached inherited by init
-.Cl SOUSIG     100000  using old signal mechanism
-.Cw
-.Dp
+.Bl -tag -width indent -compact
+.It +
+The process is in the foreground process group of its control terminal.
+.It <
+The process has raised
+.Tn CPU
+scheduling priority.
+.It >
+The process has specified a soft limit on memory requirements and is
+currently exceeding that limit; such a process is (necessarily) not
+swapped.
+.It A
+the process has asked for random page replacement
+.Pf ( Dv VA_ANOM ,
+from
+.Xr vadvise 2 ,
+for example,
+.Xr lisp 1
+in a garbage collect).
+.It E
+The process is trying to exit.
+.It L
+The process has pages locked in core (for example, for raw
+.Tn I/O ) .
+.It N
+The process has reduced
+.Tn CPU
+scheduling priority (see
+.Xr setpriority 2 ) .
+.It S
+The process has asked for
+.Tn FIFO
+page replacement
+.Pf ( Dv VA_SEQL ,
+from
+.Xr vadvise 2 ,
+for example, a large image processing program using virtual memory to
+sequentially address voluminous data).
+.It s
+The process is a session leader.
+.It V
+The process is suspended during a
+.Xr vfork .
+.It W
+The process is swapped out.
+.It X
+The process is being traced or debugged.
+.El
+.It tt
+An abbreviation for the pathname of the controlling terminal, if any.
+The abbreviation consists of the two letters following
+.Dq Pa /dev/tty ,
+or, for the console, ``co''.
+This is followed by a ``-'' if the process can no longer reach that
+controlling terminal (i.e., it has been revoked).
+.It wchan
+The event (an address in the system) on which a process waits.
+When printed numerically, the initial part of the address is
+trimmed off and the result is printed in hex, for example, 0x80324000 prints
+as 324000.
+.El
 .Pp
 .Pp
-.Tp Aq Li defunct
-A
-.Aq defunct
-process is one that has exited, but whose parent process has
-not waited for it.
-A process that has exited and has a parent that has not
-yet waited for the process is marked
-.Aq Li defunct .
-.Tp Aq Li exiting
-A process
-which is blocked trying to exit is marked
-.Aq Li exiting
-.Tp
+When printing using the command keyword, a process that has exited and
+has a parent that has not yet waited for the process (in other words, a zombie)
+is listed as ``<defunct>'', and a process which is blocked while trying
+to exit is listed as ``<exiting>''.
+.Nm \&Ps
+makes an educated guess as to the file name and arguments given when the
+process was created by examining memory or the swap area.
+The method is inherently somewhat unreliable and in any event a process
+is entitled to destroy this information, so the names cannot be depended
+on too much.
+The ucomm (accounting) keyword can, however, be depended on.
+.Sh KEYWORDS
+The following is a complete list of the available keywords and their
+meanings.
+Several of them have aliases (keywords which are synonyms).
 .Pp
 .Pp
-.Nm Ps
-makes an educated guess as to the file name
-and arguments given when the process was created
-by examining memory or the swap area.
-The method is inherently somewhat unreliable and in any event
-a process is entitled to destroy this information,
-so the names cannot be counted on too much.
+.Bl -tag -width sigignore -compact
+.It %cpu
+percentage cpu usage (alias pcpu)
+.It %mem
+percentage memory usage (alias pmem)
+.It acflag
+accounting flag (alias acflg)
+.It command
+command and arguments
+.It cpu
+short-term cpu usage factor (for scheduling)
+.It flags
+the process flags, in hexadecimal (alias f)
+.It inblk
+total blocks read (alias inblock)
+.It jobc
+job control count
+.It ktrace
+tracing flags
+.It ktracep
+tracing vnode
+.It lim
+memoryuse limit
+.It logname
+login name of user who started the process
+.It lstart
+time started
+.It majflt
+total page faults
+.It minflt
+total page reclaims
+.It msgrcv
+total messages received (reads from pipes/sockets)
+.It msgsnd
+total messages sent (writes on pipes/sockets)
+.It nice
+nice value (alias ni)
+.It nivcsw
+total involuntary context switches
+.It nsigs
+total signals taken (alias nsignals)
+.It nswap
+total swaps in/out
+.It nvcsw
+total voluntary context switches
+.It nwchan
+wait channel (as an address)
+.It oublk
+total blocks written (alias oublock)
+.It p_ru
+resource usage (valid only for zombie)
+.It paddr
+swap address
+.It pagein
+pageins (same as majflt)
+.It pgid
+process group number
+.It pid
+process
+.Tn ID
+.It poip
+pageouts in progress
+.It ppid
+parent process
+.Tn ID
+.It pri
+scheduling priority
+.It re
+core residency time (in seconds; 127 = infinity)
+.It rgid
+real group
+.Tn ID
+.It rlink
+reverse link on run queue, or 0
+.It rss
+resident set size
+.It rsz
+resident set size + (text size / text use count) (alias rssize)
+.It ruid
+real user
+.Tn ID
+.It ruser
+user name (from ruid)
+.It sess
+session pointer
+.It sig
+pending signals (alias pending)
+.It sigcatch
+caught signals (alias caught)
+.It sigignore
+ignored signals (alias ignored)
+.It sigmask
+blocked signals (alias blocked)
+.It sl
+sleep time (in seconds; 127 = infinity)
+.It start
+time started
+.It state
+symbolic process state (alias stat)
+.It svgid
+saved gid from a setgid executable
+.It svuid
+saved uid from a setuid executable
+.It tdev
+control terminal device number
+.It time
+accumulated cpu time, user + system (alias cputime)
+.It tpgid
+control terminal process group
+.Tn ID
+.It trss
+text resident set size (in Kbytes)
+.It tsess
+control terminal session pointer
+.It tsiz
+text size (in Kbytes)
+.It tt
+control terminal name (two letter abbreviation)
+.It tty
+full name of control terminal
+.It uprocp
+process pointer
+.It ucomm
+name to be used for accounting
+.It uid
+effective user
+.Tn ID
+.It upr
+scheduling priority on return from system call (alias usrpri)
+.It user
+user name (from uid)
+.It vsz
+virtual size in Kbytes (alias vsize)
+.It wchan
+wait channel (as a symbolic name)
+.It xstat
+exit or stop status (valid only for stopped or zombie process)
+.El
 .Sh FILES
 .Sh FILES
-.Dw /etc/pasdatabase
-.Di L
-.Dp Pa /vmunix
-system namelist
-.Dp Pa /dev/kmem
-kernel memory
-.Dp Pa /dev/drum
-swap device
-.Dp Pa /vmcore
-core file
-.Dp Pa /dev
-searched to find swap device and tty names
-.\" .Dp Pa /etc/psdatabase
-.\" system namelist, device, and wait channel information
-.Dp
+.Bl -tag -width /var/run/kvm_vmunix.db -compact
+.It Pa /dev
+special files and device names
+.It Pa /dev/drum
+default swap device
+.It Pa /dev/kmem
+default kernel memory
+.It Pa /var/run/dev.db
+/dev name database
+.It Pa /var/run/kvm_vmunix.db
+system namelist database
+.It Pa /vmunix
+default system namelist
+.El
 .Sh SEE ALSO
 .Xr kill 1 ,
 .Sh SEE ALSO
 .Xr kill 1 ,
-.Xr w 1
-.Sh HISTORY
-A
-.Nm Ps
-command appeared in VERSION 6 AT&T UNIX.
+.Xr w 1 ,
+.Xr kvm 3 ,
+.Xr strftime 3 ,
+.Xr pstat 8
+.Sh BUGS
+Since
+.Nm \&ps
+cannot run faster than the system and is run as any other scheduled
+process, the information it displays can never be exact.