Amiga Unix — 68040 · 68060

Manual pages › General commands (1)

ps(1)

report process status

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

Also by this name: ps(1B), BSD versions of commands

NAME

ps - report process status

SYNOPSIS

ps [ options ]

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 that is 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:

-e          Print information about every process  now  run-
            ning.
-d          Print information  about  all  processes  except
            session leaders.
-a          Print information about all processes most  fre-
            quently  requested:   all  those  except process
            group leaders and processes not associated  with
            a terminal.
-j          Print session ID and process group ID.
-f          Generate a full listing.  (See below for  signi-
            ficance of columns in a full listing.)
-l          Generate a long listing.  (See below.)
-c          Print 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 List only process data associated with the  ter-
            minal  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 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.
-s sesslist List 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 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 com-
                         pletes.

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

SEE ALSO

kill(1), nice(1), priocntl(1).
getty(1M) in the System Administrator's Reference Manual.

NOTES

Things can change while ps is running; 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.

On a heavily loaded system, ps may report an lseek 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.