busybox/procps/ps.posix
<<
>>
Prefs
   1This is what POSIX 2003 says about ps:
   2
   3By default, ps shall select  all processes with the same effective user
   4ID as the current user and the same controlling terminal as the invoker
   5
   6ps [-aA][-defl][-G grouplist][-o format]...[-p proclist][-t termlist]
   7[-U userlist][-g grouplist][-n namelist][-u userlist]
   8
   9-a     Write information for all processes associated  with  terminals.
  10       Implementations may omit session leaders from this list.
  11
  12-A     Write information for all processes.
  13
  14-d     Write information for all processes, except session leaders.
  15
  16-e     Write information for all processes.  (Equivalent to -A.)
  17
  18-f     Generate  a  full  listing. (See the STDOUT section for the con-
  19       tents of a full listing.)
  20
  21-g  grouplist
  22       Write information for processes whose session leaders are  given
  23       in grouplist. The application shall ensure that the grouplist is
  24       a single argument in the form of a  <blank>  or  comma-separated
  25       list.
  26
  27-G  grouplist
  28       Write  information for processes whose real group ID numbers are
  29       given in grouplist. The application shall ensure that the  grou-
  30       plist  is  a  single argument in the form of a <blank> or comma-
  31       separated list.
  32
  33-l     Generate a long listing. (See STDOUT for the contents of a  long
  34       listing.)
  35
  36-n  namelist
  37       Specify the name of an alternative system namelist file in place
  38       of the default. The name of the default file and the format of a
  39       namelist file are unspecified.
  40
  41-o  format
  42       Write information according to the format specification given in
  43       format.  Multiple -o options can be specified; the format speci-
  44       fication shall be interpreted as the  <space>-separated concate-
  45       nation of all the format option-arguments.
  46
  47-p  proclist
  48       Write  information  for  processes  whose process ID numbers are
  49       given in proclist. The application shall ensure  that  the  pro-
  50       clist  is  a  single argument in the form of a <blank> or comma-
  51       separated list.
  52
  53-t  termlist
  54       Write information for processes associated with terminals  given
  55       in termlist. The application shall ensure that the termlist is a
  56       single argument in the form  of  a  <blank>  or  comma-separated
  57       list.  Terminal identifiers shall be given in an implementation-
  58       defined format.    On  XSI-conformant  systems,  they  shall  be
  59       given  in  one of two forms: the device's filename (for example,
  60       tty04) or, if the device's filename starts with  tty,  just  the
  61       identifier following the characters tty (for example, "04" ).
  62
  63-u  userlist
  64       Write  information  for processes whose user ID numbers or login
  65       names are given in userlist. The application shall  ensure  that
  66       the  userlist  is  a single argument in the form of a <blank> or
  67       comma-separated list. In the  listing,  the  numerical  user  ID
  68       shall be written unless the -f option is used, in which case the
  69       login name shall be written.
  70
  71-U  userlist
  72       Write information for processes whose real user  ID  numbers  or
  73       login  names are given in userlist. The application shall ensure
  74       that the userlist is a single argument in the form of a  <blank>
  75       or comma-separated list.
  76
  77With  the  exception of -o format, all of the options shown are used to
  78select processes. If any are  specified,  the  default  list  shall  be
  79ignored  and ps shall select the processes represented by the inclusive
  80OR of all the selection-criteria options.
  81
  82The  -o option allows the output format to be specified under user con-
  83trol.
  84
  85The application shall ensure that the format specification is a list of
  86names  presented as a single argument, <blank> or comma-separated. Each
  87variable has a default header. The default header can be overridden  by
  88appending  an  equals  sign and the new text of the header. The rest of
  89the characters in the argument shall be used as the  header  text.  The
  90fields specified shall be written in the order specified on the command
  91line, and should be arranged in columns in the output. The field widths
  92shall  be  selected  by the system to be at least as wide as the header
  93text (default or overridden value). If the header text is null, such as
  94-o  user=,  the  field  width  shall be at least as wide as the default
  95header text. If all header text fields are null, no header  line  shall
  96be written.
  97
  98ruser  The  real user ID of the process. This shall be the textual user
  99       ID, if it can be obtained and the field width permits, or a dec-
 100       imal representation otherwise.
 101
 102user   The  effective user ID of the process. This shall be the textual
 103       user ID, if it can be obtained and the field width permits, or a
 104       decimal representation otherwise.
 105
 106rgroup The  real  group  ID  of  the process. This shall be the textual
 107       group ID, if it can be obtained and the field width permits,  or
 108       a decimal representation otherwise.
 109
 110group  The effective group ID of the process. This shall be the textual
 111       group ID, if it can be obtained and the field width permits,  or
 112       a decimal representation otherwise.
 113
 114pid    The decimal value of the process ID.
 115
 116ppid   The decimal value of the parent process ID.
 117
 118pgid   The decimal value of the process group ID.
 119
 120pcpu   The ratio of CPU time used recently to CPU time available in the
 121       same  period,  expressed  as  a  percentage.  The   meaning   of
 122       "recently"  in  this context is unspecified. The CPU time avail-
 123       able is determined in an unspecified manner.
 124
 125vsz    The size of the process in (virtual) memory in 1024  byte  units
 126       as a decimal integer.
 127
 128nice   The decimal value of the nice value of the process; see nice() .
 129
 130etime  In the POSIX locale, the elapsed  time  since  the  process  was
 131       started, in the form: [[dd-]hh:]mm:ss
 132
 133time   In the POSIX locale, the cumulative CPU time of the  process  in
 134       the form: [dd-]hh:mm:ss
 135
 136tty    The name of the controlling terminal of the process (if any)  in
 137       the same format used by the who utility.
 138
 139comm   The  name  of  the  command being executed ( argv[0] value) as a
 140       string.
 141
 142args   The command with all its arguments as a string. The  implementa-
 143       tion may truncate this value to the field width; it is implemen-
 144       tation-defined whether any  further  truncation  occurs.  It  is
 145       unspecified  whether  the string represented is a version of the
 146       argument list as it was passed to the command when  it  started,
 147       or  is a version of the arguments as they may have been modified
 148       by the application. Applications cannot depend on being able  to
 149       modify  their  argument  list  and  having  that modification be
 150       reflected in the output of ps.
 151
 152Any field need not be meaningful in all implementations. In such a case
 153a hyphen ( '-' ) should be output in place of the field value.
 154
 155Only  comm  and  args  shall be allowed to contain <blank>s; all others
 156shall not.
 157
 158The following table specifies the default header  to  be  used  in  the
 159POSIX locale corresponding to each format specifier.
 160
 161    Format Specifier Default Header Format Specifier Default Header
 162    args             COMMAND        ppid             PPID
 163    comm             COMMAND        rgroup           RGROUP
 164    etime            ELAPSED        ruser            RUSER
 165    group            GROUP          time             TIME
 166    nice             NI             tty              TT
 167    pcpu             %CPU           user             USER
 168    pgid             PGID           vsz              VSZ
 169    pid              PID
 170
 171There  is no special quoting mechanism for header text. The header text
 172is the rest of the argument. If multiple  header  changes  are  needed,
 173multiple -o options can be used, such as:
 174
 175        ps -o "user=User Name" -o pid=Process\ ID
 176