Initial public busybox upstream commit
[busybox4maemo] / procps / ps.posix
1 This is what POSIX 2003 says about ps:
2
3 By default, ps shall select  all processes with the same effective user
4 ID as the current user and the same controlling terminal as the invoker
5
6 ps [-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
77 With  the  exception of -o format, all of the options shown are used to
78 select processes. If any are  specified,  the  default  list  shall  be
79 ignored  and ps shall select the processes represented by the inclusive
80 OR of all the selection-criteria options.
81
82 The  -o option allows the output format to be specified under user con-
83 trol.
84
85 The application shall ensure that the format specification is a list of
86 names  presented as a single argument, <blank> or comma-separated. Each
87 variable has a default header. The default header can be overridden  by
88 appending  an  equals  sign and the new text of the header. The rest of
89 the characters in the argument shall be used as the  header  text.  The
90 fields specified shall be written in the order specified on the command
91 line, and should be arranged in columns in the output. The field widths
92 shall  be  selected  by the system to be at least as wide as the header
93 text (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
95 header text. If all header text fields are null, no header  line  shall
96 be written.
97
98 ruser  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
102 user   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
106 rgroup 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
110 group  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
114 pid    The decimal value of the process ID.
115
116 ppid   The decimal value of the parent process ID.
117
118 pgid   The decimal value of the process group ID.
119
120 pcpu   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
125 vsz    The size of the process in (virtual) memory in 1024  byte  units
126        as a decimal integer.
127
128 nice   The decimal value of the nice value of the process; see nice() .
129
130 etime  In the POSIX locale, the elapsed  time  since  the  process  was
131        started, in the form: [[dd-]hh:]mm:ss
132
133 time   In the POSIX locale, the cumulative CPU time of the  process  in
134        the form: [dd-]hh:mm:ss
135
136 tty    The name of the controlling terminal of the process (if any)  in
137        the same format used by the who utility.
138
139 comm   The  name  of  the  command being executed ( argv[0] value) as a
140        string.
141
142 args   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
152 Any field need not be meaningful in all implementations. In such a case
153 a hyphen ( '-' ) should be output in place of the field value.
154
155 Only  comm  and  args  shall be allowed to contain <blank>s; all others
156 shall not.
157
158 The following table specifies the default header  to  be  used  in  the
159 POSIX 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
171 There  is no special quoting mechanism for header text. The header text
172 is the rest of the argument. If multiple  header  changes  are  needed,
173 multiple -o options can be used, such as:
174
175         ps -o "user=User Name" -o pid=Process\ ID