Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ps(1) — Interactive 3.2r4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getty(1M)

kill(1)

nice(1)

ps(1)  —  

NAME

ps − report process status

SYNOPSIS

ps [options]

DESCRIPTION

ps prints certain information about active processes.  Without options, information is printed about processes associated with the controlling terminal.  Output consists of a short listing containing only the process ID, terminal identifier, cumulative execution time, and the command name.  Otherwise, the information that is displayed is controlled by the selection of options. 

Options accept names or lists as arguments.  Arguments can be either separated from one another by commas or enclosed in double quotes and separated from one another by commas or spaces.  Values for proclist and grplist must be numeric. 

The options are given in descending order according to volume and range of information provided:

−e Print information about every process now running. 

−d Print information about all processes except process group leaders. 

−a Print information about all processes most frequently requested: all those except process group leaders and processes not associated with a terminal. 

−f Generate a full listing.  (See below for significance of columns in a full listing.) 

−l Generate a long listing.  (See the following text.) 

−n name Valid only for users with a real user id of root or a real group id of sys.  Takes argument signifying an alternate system name in place of /unix. 

−t termlist List only process data associated with the terminal given in termlist.  Terminal identifiers may be specified in one of two forms:  the device’s file name (e.g., tty04) or, if the device’s file name starts with tty, just the digit identifier (e.g., 04). 

−p proclist List only process data whose process ID numbers are given in proclist. 

−u uidlist List only process data whose user ID number or login name is given in uidlist. In the listing, the numerical user ID will be printed unless you give the −f option, which prints the login name. 

−g grplist List only process data whose process group leader’s ID number(s) appears in grplist.  (A group leader is a process whose process ID number is identical to its process group ID number.  A login shell is a common example of a process group leader.) 

Under the −f option, ps tries to determine the command name and arguments given when the process was created by examining the user block.  Failing this, the command name is printed, as it would have appeared without the −f option, in square brackets. 

The column headings and the meaning of the columns in a ps listing are given in the following text; the letters f and l indicate the option (full or long, respectively) that causes the corresponding heading to appear; all means that the heading always appears.  Note that these two options determine only what information is provided for a process; they do not determine which processes will be listed. 

F (l) Flags (hexadecimal and additive) associated with the process

00 Process has terminated: process table entry now available. 

01 A system process: always in primary memory. 

02 Parent is tracing process. 

04 Tracing parent’s signal has stopped process: parent is waiting [ptrace(2)]. 

08 Process is currently in primary memory. 

10 Process currently in primary memory: locked until an event completes. 

S (l) The state of the process:

O Process is running on a processor. 

S Sleeping: process is waiting for an event to complete. 

R Runnable: process is on run queue. 

I Idle: process is being created. 

Z Zombie state: process terminated and parent not waiting. 

T Traced: process stopped by a signal because parent is tracing it. 

X SXBRK state: process is waiting for more primary memory. 

UID (f,l) The user ID number of the process owner (the login name is printed under the −f option). 

PID (all) The process ID of the process (this datum is necessary in order to kill a process). 

PPID (f,l) The process ID of the parent process. 

C (f,l) Processor utilization for scheduling.

PRI (l) The priority of the process (higher numbers mean lower priority).

NI (l) Nice value, used in priority computation.

ADDR (l) The physical memory address of the first page of the user block. If the user block is swapped out, ADDR is shown as 0. 

SZ (l) The size (in pages or clicks) of the swappable process’s image in main memory.

WCHAN (l) The address of an event for which the process is sleeping, or in SXBRK state, (if blank, the process is running). 

STIME (f) The starting time of the process, given in hours, minutes, and seconds.  (A process begun more than twenty-four hours before the ps inquiry is executed is given in months and days.) 

TTY (all) The controlling terminal for the process (the message, ?, is printed when there is no controlling terminal). 

TIME (all) The cumulative execution time for the process. 

COMMAND (all) The command name (the full command name and its arguments are printed under the −f option). 

A process that has exited and has a parent, but has not yet been waited for by the parent, is marked <defunct>. 

FILES

/dev   

/dev/sxt/*   

/dev/tty*   

/dev/xt/* terminal (“tty”) names searcher files

/dev/kmem kernel virtual memory

/dev/swap the default swap device

/dev/mem memory

/etc/passwd UID information supplier

/etc/ps_data internal data structure

/unix system name list

SEE ALSO

getty(1M), kill(1), nice(1). 

WARNING

Things can change while ps is running; the snap-shot it gives is only true for a split-second, and it may not be accurate by the time you see it.  Some data printed for defunct processes is irrelevant. 

If no termlist, proclist, uidlist, or grplist is specified, ps checks stdin, stdout, and stderr in that order, looking for the controlling terminal and will attempt to report on processes associated with the controlling terminal.  In this situation, if stdin, stdout, and stderr are all redirected, ps will not find a controlling terminal, so there will be no report. 

On a heavily loaded system, ps may report an lseek(2) error and exit. ps may seek to an invalid user area address: having obtained the address of a process’ user area, ps may not be able to seek to that address before the process exits and the address becomes invalid. 

ps −ef may not report the actual start of a tty login session, but rather an earlier time, when a getty was last respawned on the tty line. 

ADDED VALUE

This entry, supplied by INTERACTIVE Systems Corporation, contains enhancements to UNIX System V. 

\*U  —  Version 1.0

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026