Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ps(1) — Motorola System V 88k Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getty(1M)

kill(1)

nice(1)

priocntl(1)

ps(1)

ps(1)  —  USER COMMANDS

NAME

ps − report process status

SYNOPSIS

ps [ −Pedajflc] [ −t termlist] [ −p proclist] [ −u uidlist] [ −g grplist] [ −s sesslist]

DESCRIPTION

ps prints information about active processes.  Without options, ps prints information about processes associated with the controlling terminal.  The output contains only the process ID, terminal identifier, cumulative execution time, and the command name.  Otherwise, the information displayed is controlled by the options. 

Some options accept lists as arguments.  Items in a list can be either separated by commas or else enclosed in double quotes and separated by commas or spaces.  Values for proclist and grplist must be numeric. 

The options are:

-P Prints the processor ID number of the processor on which a process is executing, in the case of processor binding.  The processor ID number appears under the PSR column heading.  If the process is not bound to a specific processor, a dash appears in the field.  The −P option applies to multi-processing only. 

-e Prints information about every process now executing. 

−d Prints information about all processes except session leaders. 

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

−j Prints session ID and process group ID. 

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

−l Generates a long listing. 

−c Prints information in a format that reflects scheduler properties as described in priocntl(1).  The −c option affects the output of the −f and −l options, as described below. 

−t termlist
Lists 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 (for example, tty04) or, if the device’s file name starts with tty, just the digit identifier (for example, 04). 

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

−u uidlist
Lists only the process data for those user IDs or login names 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
Lists only the process data for those group leader’s ID number(s) that appear in grplist.  (A group leader is a process whose process ID number is identical to its process group ID number.) 

−s sesslist
Lists information on all session leaders whose IDs appear in sesslist. 

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 below; the letters f, l, and P indicate the option (full, long, or processor 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)]. 

10 Process is currently in primary memory. 

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

S(l) The state of the process:

O Process is executing 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 (the PID 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.  Not printed when the −c option is used. 

CLS(f,l) Scheduling class.  Printed only when the −c option is used. 

PRI(l) The priority of the process.  Without the −c option, higher numbers mean lower priority.  With the −c option, higher numbers mean higher priority. 

NI(l) Nice value, used in priority computation.  Not printed when the −c option is used.  Only processes in the time-sharing class have a nice value. 

ADDR(l) The memory address of the process. 

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 executing). 

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.  A ? 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). 

PSR(P) The processor binding.  (For multi-processing only.) 

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

SEE ALSO

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

NOTES

Your environment can change while ps is executing; the snap-shot it gives is true only 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. 

ps may report an lseek error and exit.  ps may seek an invalid user area address: having obtained the address of a process’ user area, ps may not be able to seek 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. 
 

  —  Essential Utilities

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