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