up | Inhaltsverzeichniss | Kommentar

Manual page for PS(1)

ps - display the status of current processes

SYNOPSIS

ps [ [-]acCegjklnrSuUvwx ][ -tx ]|[ num ] [ kernel-name ] [ c-dump-file ] [ swap-file ]

DESCRIPTION

ps displays information about processes. Normally, only those processes that are running with your effective user ID and are attached to a controlling terminal (see termio.4 are shown. Additional categories of processes can be added to the display using various options. In particular, the -a option allows you to include processes that are not owned by you (that do not have your user ID), and the -x option allows you to include processes without control terminals. When you specify both -a and -x, you get processes owned by anyone, with or without a control terminal. The -r option restricts the list of processes printed to ``running'' processes: runnable processes, those in page wait, or those in short-term non-interruptible waits.

ps displays the process ID, under PID; the control terminal (if any), under TT; the cpu time used by the process so far, including both user and system time), under TIME; the state of the process, under STAT; and finally, an indication of the COMMAND that is running.

The state is given by a sequence of four letters, for example, `RWNA'.

First letter
indicates the runnability of the process:
R
Runnable processes.
T
Stopped processes.
P
Processes in page wait.
D
Processes in non-interruptible waits; typically short-term waits for disk or NFS I/O.
S
Processes sleeping for less than about 20 seconds.
I
Processes that are idle (sleeping longer than about 20 seconds).
Z
Processes that have terminated and that are waiting for their parent process to do a wait.2v (``zombie'' processes).
Second letter
indicates whether a process is swapped out;
blank
Represented as a SPACE character, in this position indicates that the process is loaded (in memory).
W
Process is swapped out.
>
Process has specified a soft limit on memory requirements and has exceeded that limit; such a process is (necessarily) not swapped.
Third letter
indicates whether a process is running with altered CPU scheduling priority (nice(1)):
blank
Represented as a SPACE character, in this position indicates that the process is running without special treatment.
N
The process priority is reduced,
<
The process priority has been raised artificially.
Fourth letter
indicates any special treatment of the process for virtual memory replacement. The letters correspond to options to the vadvise.2 system call. Currently the possibilities are:
blank
Represented as a SPACE character, in this position stands for VA_NORM.
A
Stands for VA_ANOM. An A typically represents a program which is doing garbage collection.
S
Stands for VA_SEQL. An S is typical of large image processing programs that are using virtual memory to sequentially address voluminous data.

kernel-name specifies the location of the system namelist. If the -k option is given, c-dump-file tells ps where to look for the core dump. Otherwise, the core dump is located in the file /vmcore and this argument is ignored. swap-file gives the location of a swap file other than the default, /dev/drum.

OPTIONS

Options must all be combined to form the first argument.

-a
Include information about processes owned by others.
-c
Display the command name, as stored internally in the system for accounting purposes, rather than the command arguments, which are kept in the process address space. This is more reliable, if less informative, as the process is free to destroy the latter information.
-C
Display raw CPU time instead of the decaying average in the %CPU field.
-e
Display the environment as well as the arguments to the command.
-g
Display all processes. Without this option, ps prints only ``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.
-j
Display a listing useful for job control information, with fields PPID, PID, PGID, SID, TT, TPGID, STAT, UID, TIME, and COMMAND as described below.

With this option, the STAT field has three additional letters:

C
indicates the process does not want SIGCHLD when a child changes state done to job control.
E
The process has completed an exec, and the parent can no longer change the process group of this process.
O
The process is an orphan, with no parent process to handle job control signals.
-k
Normally, kernel-name defaults to /vmunix, c-dump-file is ignored, and swap-file defaults to /dev/drum. With the -k option in effect, these arguments default to /vmunix, /vmcore, and /dev/drum, respectively.
-l
Display a long listing, with fields F, PPID, CP, PRI, NI, SZ, RSS, and WCHAN, as described below.
-n
Produce numeric output for some fields. 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.
-r
Restrict output to ``running'' processes.
-S
Display accumulated CPU time used by this process and all of its reaped children.
-u
Display user-oriented output. This includes fields USER, %CPU, %MEM, SZ, RSS and START as described below.
-U
Update a private database where ps keeps system information. Include `ps -U' in the /etc/rc file.
-v
Display a version of the output describing virtual memory information. This includes fields RE, SL, PAGEIN, SIZE, RSS, LIM, %CPU and %MEM, described below.
-w
Use a wide output format (132 columns rather than 80); if repeated, that is, -ww, use arbitrarily wide output. This information is used to decide how much of long commands to print.
-x
Include processes with no controlling terminal.

The following two options are mutually exclusive. When specified, these options must appear immediately following the last option.

-tx
Restrict output to processes whose controlling terminal is x (which should be specified as printed by ps; for example, t3 for /dev/tty3, tco for /dev/console, td0 for /dev/ttyd0, t? for processes with no terminal, etc). This option must be the last one given.
num
A process number may be given, in which case the output is restricted to that process. This option must also be last, and must appear with no white space between it and the previous option.

DISPLAY FORMATS

Fields that are not common to all output formats:

USER
Name of the owner of the process.
%CPU
CPU use of the process; this is a decaying average over up to a minute of previous (real) time. Because 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%.
NI
Process scheduling increment (see getpriority.2 and nice.3v
SIZE
SZ
The combined size of the data and stack segments (in kilobytes)
RSS
Real memory (resident set) size of the process (in kilobytes).
LIM
Soft limit on memory used, specified using a call to getrlimit.2 if no limit has been specified, this is shown as xx.
%MEM
Percentage of real memory used by this process.
RE
Residency time of the process (seconds in core).
SL
Sleep time of the process (seconds blocked).
PAGEIN
Number of disk I/Os resulting from references by the process to pages not loaded in core.
UID
Numeric user-ID of process owner.
PPID
Numeric ID of parent of process.
SID
Numeric ID of the session to which the process belongs. SID = PGID = PID indicates a session leader.
PGID
Numeric ID of the process group of the process.
TPGID
Numeric ID of the process group associated with the terminal specified under TT (distinguished process group, see termio.4
CP
Short-term CPU utilization factor (used in scheduling).
PRI
Process priority (non-positive when in non-interruptible wait).
START
Time the process was created if today, or the date it was created if before today.
WCHAN
Event on which process is waiting (an address in the system). A symbol is chosen that classifies the address, unless numeric output is requested (see the n flag). In this case, the address is printed in hexadecimal.

F
Flags (in hex) associated with process as in <sys/proc.h>:
SLOAD        00000001   in core
SSYS         00000002   swapper or pager process
SLOCK        00000004   process being swapped out
SSWAP        00000008   save area flag
STRC         00000010   process is being traced
SWTED        00000020   parent has been told that this process stopped
SULOCK       00000040   user can set lock in core
SPAGE        00000080   process in page wait state
SKEEP        00000100   another flag to prevent swap out
SOMASK       00000200   restore old mask after taking signal
SWEXIT       00000400   working on exiting
SPHYSIO      00000800   doing physical I/O
SVFORK       00001000   process resulted from vfork()
SVFDONE      00002000   another vfork flag
SNOVM        00004000   no vm, parent in a vfork()
SPAGI        00008000   init data space on demand, from vnode
SSEQL        00010000   user warned of sequential vm behavior
SUANOM       00020000   user warned of anomalous vm behavior
STIMO        00040000   timing out during sleep
SORPHAN      00080000   process is orphaned
STRACNG      00100000   process is tracing another process
SOWEUPC      00200000   process is being profiled and has a pending count increment
SSEL         00400000   selecting; wakeup/waiting danger
SFAVORD      02000000   favored treatment in swapout and pageout
SLKDONE      04000000   record-locking has been done
STRCSYS      08000000   tracing system calls
SNOCLDSTOP   10000000   SIGCHLD not sent when child stops
SEXECED      20000000   process has completed an exec
SRPC         40000000   sunview window locking

A process that has exited and has a parent, but has not yet been waited for by the parent, is marked <defunct>; a process that is blocked trying to exit is marked <exiting>; otherwise, 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.

ENVIRONMENT

The environment variables LC_CTYPE, LANG, and LC_default control the character classification throughout ps. On entry to ps, these environment variables are checked in the following order: LC_CTYPE, LANG, and LC_default. When a valid value is found, remaining environment variables for character classification are ignored. For example, a new setting for LANG does not override the current valid character classification rules of LC_CTYPE. When none of the values is valid, the shell character classification defaults to the POSIX.1 ``C'' locale.

FILES

/vmunix
system namelist
/dev/kmem
kernel memory
/dev/drum
swap device
/vmcore
core file
/dev
searched to find swap device and terminal names
/etc/psdatabase
system namelist, device, and wait channel information

SEE ALSO

kill.1 w.1 getpriority.2 getrlimit.2 wait.2v vadvise.2 nice.3v termio.4 locale.5 pstat.8

BUGS

Things can change while ps is running; the picture it gives is only a close approximation to the current state.


index | Inhaltsverzeichniss | Kommentar

Created by unroff & hp-tools. © somebody (See intro for details). All Rights Reserved. Last modified 11/5/97