1PS(1) User Commands PS(1)
2
3
4
6 ps - report a snapshot of the current processes.
7
9 ps [options]
10
12 ps displays information about a selection of the active processes. If
13 you want a repetitive update of the selection and the displayed
14 information, use top instead.
15
16 This version of ps accepts several kinds of options:
17
18 1 UNIX options, which may be grouped and must be preceded by a dash.
19 2 BSD options, which may be grouped and must not be used with a dash.
20 3 GNU long options, which are preceded by two dashes.
21
22 Options of different types may be freely mixed, but conflicts can
23 appear. There are some synonymous options, which are functionally
24 identical, due to the many standards and ps implementations that this
25 ps is compatible with.
26
27 Note that ps -aux is distinct from ps aux. The POSIX and UNIX
28 standards require that ps -aux print all processes owned by a user
29 named x, as well as printing all processes that would be selected by
30 the -a option. If the user named x does not exist, this ps may
31 interpret the command as ps aux instead and print a warning. This
32 behavior is intended to aid in transitioning old scripts and habits.
33 It is fragile, subject to change, and thus should not be relied upon.
34
35 By default, ps selects all processes with the same effective user ID
36 (euid=EUID) as the current user and associated with the same terminal
37 as the invoker. It displays the process ID (pid=PID), the terminal
38 associated with the process (tname=TTY), the cumulated CPU time in
39 [DD-]hh:mm:ss format (time=TIME), and the executable name (ucmd=CMD).
40 Output is unsorted by default.
41
42 The use of BSD-style options will add process state (stat=STAT) to the
43 default display and show the command args (args=COMMAND) instead of the
44 executable name. You can override this with the PS_FORMAT environment
45 variable. The use of BSD-style options will also change the process
46 selection to include processes on other terminals (TTYs) that are owned
47 by you; alternately, this may be described as setting the selection to
48 be the set of all processes filtered to exclude processes owned by
49 other users or not on a terminal. These effects are not considered
50 when options are described as being "identical" below, so -M will be
51 considered identical to Z and so on.
52
53 Except as described below, process selection options are additive. The
54 default selection is discarded, and then the selected processes are
55 added to the set of processes to be displayed. A process will thus be
56 shown if it meets any of the given selection criteria.
57
59 To see every process on the system using standard syntax:
60 ps -e
61 ps -ef
62 ps -eF
63 ps -ely
64
65 To see every process on the system using BSD syntax:
66 ps ax
67 ps axu
68
69 To print a process tree:
70 ps -ejH
71 ps axjf
72
73 To get info about threads:
74 ps -eLf
75 ps axms
76
77 To get security info:
78 ps -eo euser,ruser,suser,fuser,f,comm,label
79 ps axZ
80 ps -eM
81
82 To see every process running as root (real & effective ID) in user
83 format:
84 ps -U root -u root u
85
86 To see every process with a user-defined format:
87 ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
88 ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
89 ps -Ao pid,tt,user,fname,tmout,f,wchan
90
91 Print only the process IDs of syslogd:
92 ps -C syslogd -o pid=
93
94 Print only the name of PID 42:
95 ps -q 42 -o comm=
96
98 a Lift the BSD-style "only yourself" restriction, which is imposed
99 upon the set of all processes when some BSD-style (without "-")
100 options are used or when the ps personality setting is BSD-like.
101 The set of processes selected in this manner is in addition to
102 the set of processes selected by other means. An alternate
103 description is that this option causes ps to list all processes
104 with a terminal (tty), or to list all processes when used
105 together with the x option.
106
107 -A Select all processes. Identical to -e.
108
109 -a Select all processes except both session leaders (see getsid(2))
110 and processes not associated with a terminal.
111
112 -d Select all processes except session leaders.
113
114 --deselect
115 Select all processes except those that fulfill the specified
116 conditions (negates the selection). Identical to -N.
117
118 -e Select all processes. Identical to -A.
119
120 g Really all, even session leaders. This flag is obsolete and may
121 be discontinued in a future release. It is normally implied by
122 the a flag, and is only useful when operating in the sunos4
123 personality.
124
125 -N Select all processes except those that fulfill the specified
126 conditions (negates the selection). Identical to --deselect.
127
128 T Select all processes associated with this terminal. Identical
129 to the t option without any argument.
130
131 r Restrict the selection to only running processes.
132
133 x Lift the BSD-style "must have a tty" restriction, which is
134 imposed upon the set of all processes when some BSD-style
135 (without "-") options are used or when the ps personality
136 setting is BSD-like. The set of processes selected in this
137 manner is in addition to the set of processes selected by other
138 means. An alternate description is that this option causes ps
139 to list all processes owned by you (same EUID as ps), or to list
140 all processes when used together with the a option.
141
143 These options accept a single argument in the form of a blank-separated
144 or comma-separated list. They can be used multiple times. For
145 example: ps -p "1 2" -p 3,4
146
147 -123 Identical to --pid 123.
148
149 123 Identical to --pid 123.
150
151 -C cmdlist
152 Select by command name. This selects the processes whose
153 executable name is given in cmdlist. NOTE: The command name is
154 not the same as the command line. Previous versions of procps
155 and the kernel truncated this command name to 15 characters.
156 This limitation is no longer present in both. If you depended on
157 matching only 15 characters, you may no longer get a match.
158
159 -G grplist
160 Select by real group ID (RGID) or name. This selects the
161 processes whose real group name or ID is in the grplist list.
162 The real group ID identifies the group of the user who created
163 the process, see getgid(2).
164
165 -g grplist
166 Select by session OR by effective group name. Selection by
167 session is specified by many standards, but selection by
168 effective group is the logical behavior that several other
169 operating systems use. This ps will select by session when the
170 list is completely numeric (as sessions are). Group ID numbers
171 will work only when some group names are also specified. See
172 the -s and --group options.
173
174 --Group grplist
175 Select by real group ID (RGID) or name. Identical to -G.
176
177 --group grplist
178 Select by effective group ID (EGID) or name. This selects the
179 processes whose effective group name or ID is in grplist. The
180 effective group ID describes the group whose file access
181 permissions are used by the process (see getegid(2)). The -g
182 option is often an alternative to --group.
183
184 p pidlist
185 Select by process ID. Identical to -p and --pid.
186
187 -p pidlist
188 Select by PID. This selects the processes whose process ID
189 numbers appear in pidlist. Identical to p and --pid.
190
191 --pid pidlist
192 Select by process ID. Identical to -p and p.
193
194 --ppid pidlist
195 Select by parent process ID. This selects the processes with a
196 parent process ID in pidlist. That is, it selects processes
197 that are children of those listed in pidlist.
198
199 q pidlist
200 Select by process ID (quick mode). Identical to -q and
201 --quick-pid.
202
203 -q pidlist
204 Select by PID (quick mode). This selects the processes whose
205 process ID numbers appear in pidlist. With this option ps reads
206 the necessary info only for the pids listed in the pidlist and
207 doesn't apply additional filtering rules. The order of pids is
208 unsorted and preserved. No additional selection options,
209 sorting and forest type listings are allowed in this mode.
210 Identical to q and --quick-pid.
211
212 --quick-pid pidlist
213 Select by process ID (quick mode). Identical to -q and q.
214
215 -s sesslist
216 Select by session ID. This selects the processes with a session
217 ID specified in sesslist.
218
219 --sid sesslist
220 Select by session ID. Identical to -s.
221
222 t ttylist
223 Select by tty. Nearly identical to -t and --tty, but can also
224 be used with an empty ttylist to indicate the terminal
225 associated with ps. Using the T option is considered cleaner
226 than using t with an empty ttylist.
227
228 -t ttylist
229 Select by tty. This selects the processes associated with the
230 terminals given in ttylist. Terminals (ttys, or screens for
231 text output) can be specified in several forms: /dev/ttyS1,
232 ttyS1, S1. A plain "-" may be used to select processes not
233 attached to any terminal.
234
235 --tty ttylist
236 Select by terminal. Identical to -t and t.
237
238 U userlist
239 Select by effective user ID (EUID) or name. This selects the
240 processes whose effective user name or ID is in userlist. The
241 effective user ID describes the user whose file access
242 permissions are used by the process (see geteuid(2)). Identical
243 to -u and --user.
244
245 -U userlist
246 Select by real user ID (RUID) or name. It selects the processes
247 whose real user name or ID is in the userlist list. The real
248 user ID identifies the user who created the process, see
249 getuid(2).
250
251 -u userlist
252 Select by effective user ID (EUID) or name. This selects the
253 processes whose effective user name or ID is in userlist.
254
255 The effective user ID describes the user whose file access
256 permissions are used by the process (see geteuid(2)). Identical
257 to U and --user.
258
259 --User userlist
260 Select by real user ID (RUID) or name. Identical to -U.
261
262 --user userlist
263 Select by effective user ID (EUID) or name. Identical to -u and
264 U.
265
267 These options are used to choose the information displayed by ps. The
268 output may differ by personality.
269
270 -c Show different scheduler information for the -l option.
271
272 --context
273 Display security context format (for SELinux).
274
275 -f Do full-format listing. This option can be combined with many
276 other UNIX-style options to add additional columns. It also
277 causes the command arguments to be printed. When used with -L,
278 the NLWP (number of threads) and LWP (thread ID) columns will be
279 added. See the c option, the format keyword args, and the
280 format keyword comm.
281
282 -F Extra full format. See the -f option, which -F implies.
283
284 --format format
285 user-defined format. Identical to -o and o.
286
287 j BSD job control format.
288
289 -j Jobs format.
290
291 l Display BSD long format.
292
293 -l Long format. The -y option is often useful with this.
294
295 -M Add a column of security data. Identical to Z (for SELinux).
296
297 O format
298 is preloaded o (overloaded). The BSD O option can act like -O
299 (user-defined output format with some common fields predefined)
300 or can be used to specify sort order. Heuristics are used to
301 determine the behavior of this option. To ensure that the
302 desired behavior is obtained (sorting or formatting), specify
303 the option in some other way (e.g. with -O or --sort). When
304 used as a formatting option, it is identical to -O, with the BSD
305 personality.
306
307 -O format
308 Like -o, but preloaded with some default columns. Identical to
309 -o pid,format,state,tname,time,command or -o pid,format,tname,
310 time,cmd, see -o below.
311
312 o format
313 Specify user-defined format. Identical to -o and --format.
314
315 -o format
316 User-defined format. format is a single argument in the form of
317 a blank-separated or comma-separated list, which offers a way to
318 specify individual output columns. The recognized keywords are
319 described in the STANDARD FORMAT SPECIFIERS section below.
320 Headers may be renamed (ps -o pid,ruser=RealUser -o
321 comm=Command) as desired. If all column headers are empty (ps
322 -o pid= -o comm=) then the header line will not be output.
323 Column width will increase as needed for wide headers; this may
324 be used to widen up columns such as WCHAN (ps -o pid,wchan=WIDE-
325 WCHAN-COLUMN -o comm). Explicit width control (ps opid,
326 wchan:42,cmd) is offered too. The behavior of ps -o pid=X,
327 comm=Y varies with personality; output may be one column named
328 "X,comm=Y" or two columns named "X" and "Y". Use multiple -o
329 options when in doubt. Use the PS_FORMAT environment variable
330 to specify a default as desired; DefSysV and DefBSD are macros
331 that may be used to choose the default UNIX or BSD columns.
332
333 s Display signal format.
334
335 u Display user-oriented format.
336
337 v Display virtual memory format.
338
339 X Register format.
340
341 -y Do not show flags; show rss in place of addr. This option can
342 only be used with -l.
343
344 Z Add a column of security data. Identical to -M (for SELinux).
345
347 c Show the true command name. This is derived from the name of
348 the executable file, rather than from the argv value. Command
349 arguments and any modifications to them are thus not shown.
350 This option effectively turns the args format keyword into the
351 comm format keyword; it is useful with the -f format option and
352 with the various BSD-style format options, which all normally
353 display the command arguments. See the -f option, the format
354 keyword args, and the format keyword comm.
355
356 --cols n
357 Set screen width.
358
359 --columns n
360 Set screen width.
361
362 --cumulative
363 Include some dead child process data (as a sum with the parent).
364
365 e Show the environment after the command.
366
367 f ASCII art process hierarchy (forest).
368
369 --forest
370 ASCII art process tree.
371
372 h No header. (or, one header per screen in the BSD personality).
373 The h option is problematic. Standard BSD ps uses this option
374 to print a header on each page of output, but older Linux ps
375 uses this option to totally disable the header. This version of
376 ps follows the Linux usage of not printing the header unless the
377 BSD personality has been selected, in which case it prints a
378 header on each page of output. Regardless of the current
379 personality, you can use the long options --headers and
380 --no-headers to enable printing headers each page or disable
381 headers entirely, respectively.
382
383 -H Show process hierarchy (forest).
384
385 --headers
386 Repeat header lines, one per page of output.
387
388 k spec Specify sorting order. Sorting syntax is
389 [+|-]key[,[+|-]key[,...]]. Choose a multi-letter key from the
390 STANDARD FORMAT SPECIFIERS section. The "+" is optional since
391 default direction is increasing numerical or lexicographic
392 order. Identical to --sort.
393
394 Examples:
395 ps jaxkuid,-ppid,+pid
396 ps axk comm o comm,args
397 ps kstart_time -ef
398
399 --lines n
400 Set screen height.
401
402 n Numeric output for WCHAN and USER (including all types of UID
403 and GID).
404
405 --no-headers
406 Print no header line at all. --no-heading is an alias for this
407 option.
408
409 O order
410 Sorting order (overloaded). The BSD O option can act like -O
411 (user-defined output format with some common fields predefined)
412 or can be used to specify sort order. Heuristics are used to
413 determine the behavior of this option. To ensure that the
414 desired behavior is obtained (sorting or formatting), specify
415 the option in some other way (e.g. with -O or --sort).
416
417 For sorting, obsolete BSD O option syntax is
418 O[+|-]k1[,[+|-]k2[,...]]. It orders the processes listing
419 according to the multilevel sort specified by the sequence of
420 one-letter short keys k1,k2, ... described in the OBSOLETE SORT
421 KEYS section below. The "+" is currently optional, merely
422 re-iterating the default direction on a key, but may help to
423 distinguish an O sort from an O format. The "-" reverses
424 direction only on the key it precedes.
425
426 --rows n
427 Set screen height.
428
429 S Sum up some information, such as CPU usage, from dead child
430 processes into their parent. This is useful for examining a
431 system where a parent process repeatedly forks off short-lived
432 children to do work.
433
434 --sort spec
435 Specify sorting order. Sorting syntax is
436 [+|-]key[,[+|-]key[,...]]. Choose a multi-letter key from the
437 STANDARD FORMAT SPECIFIERS section. The "+" is optional since
438 default direction is increasing numerical or lexicographic
439 order. Identical to k. For example: ps jax --sort=uid,-ppid,
440 +pid
441
442 w Wide output. Use this option twice for unlimited width.
443
444 -w Wide output. Use this option twice for unlimited width.
445
446 --width n
447 Set screen width.
448
450 H Show threads as if they were processes.
451
452 -L Show threads, possibly with LWP and NLWP columns.
453
454 m Show threads after processes.
455
456 -m Show threads after processes.
457
458 -T Show threads, possibly with SPID column.
459
461 --help section
462 Print a help message. The section argument can be one of
463 simple, list, output, threads, misc, or all. The argument can
464 be shortened to one of the underlined letters as in:
465 s|l|o|t|m|a.
466
467 --info Print debugging info.
468
469 L List all format specifiers.
470
471 V Print the procps-ng version.
472
473 -V Print the procps-ng version.
474
475 --version
476 Print the procps-ng version.
477
479 This ps works by reading the virtual files in /proc. This ps does not
480 need to be setuid kmem or have any privileges to run. Do not give this
481 ps any special permissions.
482
483 CPU usage is currently expressed as the percentage of time spent
484 running during the entire lifetime of a process. This is not ideal,
485 and it does not conform to the standards that ps otherwise conforms to.
486 CPU usage is unlikely to add up to exactly 100%.
487
488 The SIZE and RSS fields don't count some parts of a process including
489 the page tables, kernel stack, struct thread_info, and struct
490 task_struct. This is usually at least 20 KiB of memory that is always
491 resident. SIZE is the virtual size of the process (code+data+stack).
492
493 Processes marked <defunct> are dead processes (so-called "zombies")
494 that remain because their parent has not destroyed them properly.
495 These processes will be destroyed by init(8) if the parent process
496 exits.
497
498 If the length of the username is greater than the length of the display
499 column, the username will be truncated. See the -o and -O formatting
500 options to customize length.
501
502 Commands options such as ps -aux are not recommended as it is a
503 confusion of two different standards. According to the POSIX and UNIX
504 standards, the above command asks to display all processes with a TTY
505 (generally the commands users are running) plus all processes owned by
506 a user named x. If that user doesn't exist, then ps will assume you
507 really meant ps aux.
508
510 The sum of these values is displayed in the "F" column, which is
511 provided by the flags output specifier:
512
513 1 forked but didn't exec
514 4 used super-user privileges
515
517 Here are the different values that the s, stat and state output
518 specifiers (header "STAT" or "S") will display to describe the state of
519 a process:
520
521 D uninterruptible sleep (usually IO)
522 I Idle kernel thread
523 R running or runnable (on run queue)
524 S interruptible sleep (waiting for an event to complete)
525 T stopped by job control signal
526 t stopped by debugger during the tracing
527 W paging (not valid since the 2.6.xx kernel)
528 X dead (should never be seen)
529 Z defunct ("zombie") process, terminated but not reaped by
530 its parent
531
532 For BSD formats and when the stat keyword is used, additional
533 characters may be displayed:
534
535 < high-priority (not nice to other users)
536 N low-priority (nice to other users)
537 L has pages locked into memory (for real-time and custom IO)
538 s is a session leader
539 l is multi-threaded (using CLONE_THREAD, like NPTL pthreads
540 do)
541 + is in the foreground process group
542
544 These keys are used by the BSD O option (when it is used for sorting).
545 The GNU --sort option doesn't use these keys, but the specifiers
546 described below in the STANDARD FORMAT SPECIFIERS section. Note that
547 the values used in sorting are the internal values ps uses and not the
548 "cooked" values used in some of the output format fields (e.g. sorting
549 on tty will sort into device number, not according to the terminal name
550 displayed). Pipe ps output into the sort(1) command if you want to
551 sort the cooked values.
552
553 KEY LONG DESCRIPTION
554 c cmd simple name of executable
555 C pcpu cpu utilization
556 f flags flags as in long format F field
557 g pgrp process group ID
558 G tpgid controlling tty process group ID
559 j cutime cumulative user time
560 J cstime cumulative system time
561 k utime user time
562 m min_flt number of minor page faults
563 M maj_flt number of major page faults
564 n cmin_flt cumulative minor page faults
565 N cmaj_flt cumulative major page faults
566 o session session ID
567 p pid process ID
568 P ppid parent process ID
569 r rss resident set size
570 R resident resident pages
571 s size memory size in kilobytes
572 S share amount of shared pages
573 t tty the device number of the controlling tty
574 T start_time time process was started
575 U uid user ID number
576 u user user name
577 v vsize total VM size in KiB
578 y priority kernel scheduling priority
579
581 This ps supports AIX format descriptors, which work somewhat like the
582 formatting codes of printf(1) and printf(3). For example, the normal
583 default output can be produced with this: ps -eo "%p %y %x %c". The
584 NORMAL codes are described in the next section.
585
586 CODE NORMAL HEADER
587 %C pcpu %CPU
588 %G group GROUP
589 %P ppid PPID
590 %U user USER
591 %a args COMMAND
592 %c comm COMMAND
593 %g rgroup RGROUP
594 %n nice NI
595 %p pid PID
596 %r pgid PGID
597 %t etime ELAPSED
598 %u ruser RUSER
599 %x time TIME
600 %y tty TTY
601 %z vsz VSZ
602
604 Here are the different keywords that may be used to control the output
605 format (e.g., with option -o) or to sort the selected processes with
606 the GNU-style --sort option.
607
608 For example: ps -eo pid,user,args --sort user
609
610 This version of ps tries to recognize most of the keywords used in
611 other implementations of ps.
612
613 The following user-defined format specifiers may contain spaces: args,
614 cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.
615
616 Some keywords may not be available for sorting.
617
618
619 CODE HEADER DESCRIPTION
620
621 %cpu %CPU cpu utilization of the process in "##.#" format.
622 Currently, it is the CPU time used divided by the
623 time the process has been running
624 (cputime/realtime ratio), expressed as a
625 percentage. It will not add up to 100% unless
626 you are lucky. (alias pcpu).
627
628 %mem %MEM ratio of the process's resident set size to the
629 physical memory on the machine, expressed as a
630 percentage. (alias pmem).
631
632 args COMMAND command with all its arguments as a string.
633 Modifications to the arguments may be shown. The
634 output in this column may contain spaces. A
635 process marked <defunct> is partly dead, waiting
636 to be fully destroyed by its parent. Sometimes
637 the process args will be unavailable; when this
638 happens, ps will instead print the executable
639 name in brackets. (alias cmd, command). See
640 also the comm format keyword, the -f option, and
641 the c option.
642 When specified last, this column will extend to
643 the edge of the display. If ps can not determine
644 display width, as when output is redirected
645 (piped) into a file or another command, the
646 output width is undefined (it may be 80,
647 unlimited, determined by the TERM variable, and
648 so on). The COLUMNS environment variable or
649 --cols option may be used to exactly determine
650 the width in this case. The w or -w option may
651 be also be used to adjust width.
652
653 blocked BLOCKED mask of the blocked signals, see signal(7).
654 According to the width of the field, a 32 or
655 64-bit mask in hexadecimal format is displayed.
656 (alias sig_block, sigmask).
657
658 bsdstart START time the command started. If the process was
659 started less than 24 hours ago, the output format
660 is " HH:MM", else it is " Mmm:SS" (where Mmm is
661 the three letters of the month). See also
662 lstart, start, start_time, and stime.
663
664 bsdtime TIME accumulated cpu time, user + system. The display
665 format is usually "MMM:SS", but can be shifted to
666 the right if the process used more than 999
667 minutes of cpu time.
668
669 c C processor utilization. Currently, this is the
670 integer value of the percent usage over the
671 lifetime of the process. (see %cpu).
672
673
674
675
676
677 caught CAUGHT mask of the caught signals, see signal(7).
678 According to the width of the field, a 32 or 64
679 bits mask in hexadecimal format is displayed.
680 (alias sig_catch, sigcatch).
681
682 cgname CGNAME display name of control groups to which the
683 process belongs.
684
685 cgroup CGROUP display control groups to which the process
686 belongs.
687
688 class CLS scheduling class of the process. (alias policy,
689 cls). Field's possible values are:
690
691 - not reported
692 TS SCHED_OTHER
693 FF SCHED_FIFO
694 RR SCHED_RR
695 B SCHED_BATCH
696 ISO SCHED_ISO
697 IDL SCHED_IDLE
698 DLN SCHED_DEADLINE
699 ? unknown value
700
701 cls CLS scheduling class of the process. (alias policy,
702 cls). Field's possible values are:
703
704 - not reported
705 TS SCHED_OTHER
706 FF SCHED_FIFO
707 RR SCHED_RR
708 B SCHED_BATCH
709 ISO SCHED_ISO
710 IDL SCHED_IDLE
711 DLN SCHED_DEADLINE
712 ? unknown value
713
714 cmd CMD see args. (alias args, command).
715
716 comm COMMAND command name (only the executable name).
717 Modifications to the command name will not be
718 shown. A process marked <defunct> is partly
719 dead, waiting to be fully destroyed by its
720 parent. The output in this column may contain
721 spaces. (alias ucmd, ucomm). See also the args
722 format keyword, the -f option, and the c option.
723 When specified last, this column will extend to
724 the edge of the display. If ps can not determine
725 display width, as when output is redirected
726 (piped) into a file or another command, the
727 output width is undefined (it may be 80,
728 unlimited, determined by the TERM variable, and
729 so on). The COLUMNS environment variable or
730 --cols option may be used to exactly determine
731 the width in this case. The w or -w option may
732 be also be used to adjust width.
733
734 command COMMAND See args. (alias args, command).
735
736 cp CP per-mill (tenths of a percent) CPU usage. (see
737 %cpu).
738
739 cputime TIME cumulative CPU time, "[DD-]hh:mm:ss" format.
740 (alias time).
741
742 cputimes TIME cumulative CPU time in seconds (alias times).
743
744
745 drs DRS data resident set size, the amount of physical
746 memory devoted to other than executable code.
747
748 egid EGID effective group ID number of the process as a
749 decimal integer. (alias gid).
750
751 egroup EGROUP effective group ID of the process. This will be
752 the textual group ID, if it can be obtained and
753 the field width permits, or a decimal
754 representation otherwise. (alias group).
755
756 eip EIP instruction pointer.
757
758 esp ESP stack pointer.
759
760 etime ELAPSED elapsed time since the process was started, in
761 the form [[DD-]hh:]mm:ss.
762
763 etimes ELAPSED elapsed time since the process was started, in
764 seconds.
765
766 euid EUID effective user ID (alias uid).
767
768 euser EUSER effective user name. This will be the textual
769 user ID, if it can be obtained and the field
770 width permits, or a decimal representation
771 otherwise. The n option can be used to force the
772 decimal representation. (alias uname, user).
773
774 exe EXE path to the executable. Useful if path cannot be
775 printed via cmd, comm or args format options.
776
777 f F flags associated with the process, see the
778 PROCESS FLAGS section. (alias flag, flags).
779
780 fgid FGID filesystem access group ID. (alias fsgid).
781
782 fgroup FGROUP filesystem access group ID. This will be the
783 textual group ID, if it can be obtained and the
784 field width permits, or a decimal representation
785 otherwise. (alias fsgroup).
786
787 flag F see f. (alias f, flags).
788
789 flags F see f. (alias f, flag).
790
791 fname COMMAND first 8 bytes of the base name of the process's
792 executable file. The output in this column may
793 contain spaces.
794
795 fuid FUID filesystem access user ID. (alias fsuid).
796
797 fuser FUSER filesystem access user ID. This will be the
798 textual user ID, if it can be obtained and the
799 field width permits, or a decimal representation
800 otherwise.
801
802 gid GID see egid. (alias egid).
803
804 group GROUP see egroup. (alias egroup).
805
806 ignored IGNORED mask of the ignored signals, see signal(7).
807 According to the width of the field, a 32 or 64
808 bits mask in hexadecimal format is displayed.
809 (alias sig_ignore, sigignore).
810
811
812
813 ipcns IPCNS Unique inode number describing the namespace the
814 process belongs to. See namespaces(7).
815
816 label LABEL security label, most commonly used for SELinux
817 context data. This is for the Mandatory Access
818 Control ("MAC") found on high-security systems.
819
820 lstart STARTED time the command started. See also bsdstart,
821 start, start_time, and stime.
822
823 lsession SESSION displays the login session identifier of a
824 process, if systemd support has been included.
825
826 luid LUID displays Login ID associated with a process.
827
828 lwp LWP light weight process (thread) ID of the
829 dispatchable entity (alias spid, tid). See tid
830 for additional information.
831
832 lxc LXC The name of the lxc container within which a task
833 is running. If a process is not running inside a
834 container, a dash ('-') will be shown.
835
836 machine MACHINE displays the machine name for processes assigned
837 to VM or container, if systemd support has been
838 included.
839
840 maj_flt MAJFLT The number of major page faults that have
841 occurred with this process.
842
843 min_flt MINFLT The number of minor page faults that have
844 occurred with this process.
845
846 mntns MNTNS Unique inode number describing the namespace the
847 process belongs to. See namespaces(7).
848
849 netns NETNS Unique inode number describing the namespace the
850 process belongs to. See namespaces(7).
851
852 ni NI nice value. This ranges from 19 (nicest) to -20
853 (not nice to others), see nice(1). (alias nice).
854
855 nice NI see ni.(alias ni).
856
857 nlwp NLWP number of lwps (threads) in the process. (alias
858 thcount).
859
860 numa NUMA The node associated with the most recently used
861 processor. A -1 means that NUMA information is
862 unavailable.
863
864 nwchan WCHAN address of the kernel function where the process
865 is sleeping (use wchan if you want the kernel
866 function name). Running tasks will display a
867 dash ('-') in this column.
868
869 ouid OWNER displays the Unix user identifier of the owner of
870 the session of a process, if systemd support has
871 been included.
872
873 pcpu %CPU see %cpu. (alias %cpu).
874
875
876
877
878
879
880
881 pending PENDING mask of the pending signals. See signal(7).
882 Signals pending on the process are distinct from
883 signals pending on individual threads. Use the m
884 option or the -m option to see both. According
885 to the width of the field, a 32 or 64 bits mask
886 in hexadecimal format is displayed. (alias sig).
887
888 pgid PGID process group ID or, equivalently, the process ID
889 of the process group leader. (alias pgrp).
890
891 pgrp PGRP see pgid. (alias pgid).
892
893 pid PID a number representing the process ID (alias
894 tgid).
895
896 pidns PIDNS Unique inode number describing the namespace the
897 process belongs to. See namespaces(7).
898
899 pmem %MEM see %mem. (alias %mem).
900
901 policy POL scheduling class of the process. (alias class,
902 cls). Possible values are:
903
904 - not reported
905 TS SCHED_OTHER
906 FF SCHED_FIFO
907 RR SCHED_RR
908 B SCHED_BATCH
909 ISO SCHED_ISO
910 IDL SCHED_IDLE
911 DLN SCHED_DEADLINE
912 ? unknown value
913
914 ppid PPID parent process ID.
915
916 pri PRI priority of the process. Higher number means
917 lower priority.
918
919 psr PSR processor that process is currently assigned to.
920
921 rgid RGID real group ID.
922
923 rgroup RGROUP real group name. This will be the textual group
924 ID, if it can be obtained and the field width
925 permits, or a decimal representation otherwise.
926
927 rss RSS resident set size, the non-swapped physical
928 memory that a task has used (in kilobytes).
929 (alias rssize, rsz).
930
931 rssize RSS see rss. (alias rss, rsz).
932
933 rsz RSZ see rss. (alias rss, rssize).
934
935 rtprio RTPRIO realtime priority.
936
937 ruid RUID real user ID.
938
939 ruser RUSER real user ID. This will be the textual user ID,
940 if it can be obtained and the field width
941 permits, or a decimal representation otherwise.
942
943 s S minimal state display (one character). See
944 section PROCESS STATE CODES for the different
945 values. See also stat if you want additional
946 information displayed. (alias state).
947
948
949 sched SCH scheduling policy of the process. The policies
950 SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR,
951 SCHED_BATCH, SCHED_ISO, SCHED_IDLE and
952 SCHED_DEADLINE are respectively displayed as 0,
953 1, 2, 3, 4, 5 and 6.
954
955 seat SEAT displays the identifier associated with all
956 hardware devices assigned to a specific
957 workplace, if systemd support has been included.
958
959 sess SESS session ID or, equivalently, the process ID of
960 the session leader. (alias session, sid).
961
962 sgi_p P processor that the process is currently executing
963 on. Displays "*" if the process is not currently
964 running or runnable.
965
966 sgid SGID saved group ID. (alias svgid).
967
968 sgroup SGROUP saved group name. This will be the textual group
969 ID, if it can be obtained and the field width
970 permits, or a decimal representation otherwise.
971
972 sid SID see sess. (alias sess, session).
973
974 sig PENDING see pending. (alias pending, sig_pend).
975
976 sigcatch CAUGHT see caught. (alias caught, sig_catch).
977
978 sigignore IGNORED see ignored. (alias ignored, sig_ignore).
979
980 sigmask BLOCKED see blocked. (alias blocked, sig_block).
981
982 size SIZE approximate amount of swap space that would be
983 required if the process were to dirty all
984 writable pages and then be swapped out. This
985 number is very rough!
986
987 slice SLICE displays the slice unit which a process belongs
988 to, if systemd support has been included.
989
990 spid SPID see lwp. (alias lwp, tid).
991
992 stackp STACKP address of the bottom (start) of stack for the
993 process.
994
995 start STARTED time the command started. If the process was
996 started less than 24 hours ago, the output format
997 is "HH:MM:SS", else it is " Mmm dd" (where Mmm
998 is a three-letter month name). See also lstart,
999 bsdstart, start_time, and stime.
1000
1001 start_time START starting time or date of the process. Only the
1002 year will be displayed if the process was not
1003 started the same year ps was invoked, or "MmmDD"
1004 if it was not started the same day, or "HH:MM"
1005 otherwise. See also bsdstart, start, lstart, and
1006 stime.
1007
1008 stat STAT multi-character process state. See section
1009 PROCESS STATE CODES for the different values
1010 meaning. See also s and state if you just want
1011 the first character displayed.
1012
1013 state S see s. (alias s).
1014
1015 stime STIME see start_time. (alias start_time).
1016
1017
1018 suid SUID saved user ID. (alias svuid).
1019
1020 supgid SUPGID group ids of supplementary groups, if any. See
1021 getgroups(2).
1022
1023 supgrp SUPGRP group names of supplementary groups, if any. See
1024 getgroups(2).
1025
1026 suser SUSER saved user name. This will be the textual user
1027 ID, if it can be obtained and the field width
1028 permits, or a decimal representation otherwise.
1029 (alias svuser).
1030
1031 svgid SVGID see sgid. (alias sgid).
1032
1033 svuid SVUID see suid. (alias suid).
1034
1035 sz SZ size in physical pages of the core image of the
1036 process. This includes text, data, and stack
1037 space. Device mappings are currently excluded;
1038 this is subject to change. See vsz and rss.
1039
1040 tgid TGID a number representing the thread group to which a
1041 task belongs (alias pid). It is the process ID
1042 of the thread group leader.
1043
1044 thcount THCNT see nlwp. (alias nlwp). number of kernel
1045 threads owned by the process.
1046
1047 tid TID the unique number representing a dispatchable
1048 entity (alias lwp, spid). This value may also
1049 appear as: a process ID (pid); a process group ID
1050 (pgrp); a session ID for the session leader
1051 (sid); a thread group ID for the thread group
1052 leader (tgid); and a tty process group ID for the
1053 process group leader (tpgid).
1054
1055 time TIME cumulative CPU time, "[DD-]HH:MM:SS" format.
1056 (alias cputime).
1057
1058 times TIME cumulative CPU time in seconds (alias cputimes).
1059
1060 tname TTY controlling tty (terminal). (alias tt, tty).
1061
1062 tpgid TPGID ID of the foreground process group on the tty
1063 (terminal) that the process is connected to, or
1064 -1 if the process is not connected to a tty.
1065
1066 trs TRS text resident set size, the amount of physical
1067 memory devoted to executable code.
1068
1069 tt TT controlling tty (terminal). (alias tname, tty).
1070
1071 tty TT controlling tty (terminal). (alias tname, tt).
1072
1073 ucmd CMD see comm. (alias comm, ucomm).
1074
1075 ucomm COMMAND see comm. (alias comm, ucmd).
1076
1077 uid UID see euid. (alias euid).
1078
1079 uname USER see euser. (alias euser, user).
1080
1081 unit UNIT displays unit which a process belongs to, if
1082 systemd support has been included.
1083
1084
1085 user USER see euser. (alias euser, uname).
1086
1087 userns USERNS Unique inode number describing the namespace the
1088 process belongs to. See namespaces(7).
1089
1090 utsns UTSNS Unique inode number describing the namespace the
1091 process belongs to. See namespaces(7).
1092
1093 uunit UUNIT displays user unit which a process belongs to, if
1094 systemd support has been included.
1095
1096 vsize VSZ see vsz. (alias vsz).
1097
1098 vsz VSZ virtual memory size of the process in KiB
1099 (1024-byte units). Device mappings are currently
1100 excluded; this is subject to change. (alias
1101 vsize).
1102
1103 wchan WCHAN name of the kernel function in which the process
1104 is sleeping, a "-" if the process is running, or
1105 a "*" if the process is multi-threaded and ps is
1106 not displaying threads.
1107
1108
1110 The following environment variables could affect ps:
1111
1112 COLUMNS
1113 Override default display width.
1114
1115 LINES
1116 Override default display height.
1117
1118 PS_PERSONALITY
1119 Set to one of posix, old, linux, bsd, sun, digital... (see section
1120 PERSONALITY below).
1121
1122 CMD_ENV
1123 Set to one of posix, old, linux, bsd, sun, digital... (see section
1124 PERSONALITY below).
1125
1126 I_WANT_A_BROKEN_PS
1127 Force obsolete command line interpretation.
1128
1129 LC_TIME
1130 Date format.
1131
1132 PS_COLORS
1133 Not currently supported.
1134
1135 PS_FORMAT
1136 Default output format override. You may set this to a format string
1137 of the type used for the -o option. The DefSysV and DefBSD values
1138 are particularly useful.
1139
1140 POSIXLY_CORRECT
1141 Don't find excuses to ignore bad "features".
1142
1143 POSIX2
1144 When set to "on", acts as POSIXLY_CORRECT.
1145
1146 UNIX95
1147 Don't find excuses to ignore bad "features".
1148
1149 _XPG
1150 Cancel CMD_ENV=irix non-standard behavior.
1151
1152 In general, it is a bad idea to set these variables. The one exception
1153 is CMD_ENV or PS_PERSONALITY, which could be set to Linux for normal
1154 systems. Without that setting, ps follows the useless and bad parts of
1155 the Unix98 standard.
1156
1158 390 like the OS/390 OpenEdition ps
1159 aix like AIX ps
1160 bsd like FreeBSD ps (totally non-standard)
1161 compaq like Digital Unix ps
1162 debian like the old Debian ps
1163 digital like Tru64 (was Digital Unix, was OSF/1) ps
1164 gnu like the old Debian ps
1165 hp like HP-UX ps
1166 hpux like HP-UX ps
1167 irix like Irix ps
1168 linux ***** recommended *****
1169 old like the original Linux ps (totally non-standard)
1170 os390 like OS/390 Open Edition ps
1171 posix standard
1172 s390 like OS/390 Open Edition ps
1173 sco like SCO ps
1174 sgi like Irix ps
1175 solaris2 like Solaris 2+ (SunOS 5) ps
1176 sunos4 like SunOS 4 (Solaris 1) ps (totally non-standard)
1177 svr4 standard
1178 sysv standard
1179 tru64 like Tru64 (was Digital Unix, was OSF/1) ps
1180 unix standard
1181 unix95 standard
1182 unix98 standard
1183
1185 pgrep(1), pstree(1), top(1), proc(5).
1186
1188 This ps conforms to:
1189
1190 1 Version 2 of the Single Unix Specification
1191 2 The Open Group Technical Standard Base Specifications, Issue 6
1192 3 IEEE Std 1003.1, 2004 Edition
1193 4 X/Open System Interfaces Extension [UP XSI]
1194 5 ISO/IEC 9945:2003
1195
1197 ps was originally written by Branko Lankester ⟨lankeste@fwi.uva.nl⟩.
1198 Michael K. Johnson ⟨johnsonm@redhat.com⟩ re-wrote it significantly to
1199 use the proc filesystem, changing a few things in the process. Michael
1200 Shields ⟨mjshield@nyx.cs.du.edu⟩ added the pid-list feature. Charles
1201 Blake ⟨cblake@bbn.com⟩ added multi-level sorting, the dirent-style li‐
1202 brary, the device name-to-number mmaped database, the approximate bi‐
1203 nary search directly on System.map, and many code and documentation
1204 cleanups. David Mossberger-Tang wrote the generic BFD support for
1205 psupdate. Albert Cahalan ⟨albert@users.sf.net⟩ rewrote ps for full
1206 Unix98 and BSD support, along with some ugly hacks for obsolete and
1207 foreign syntax.
1208
1209 Please send bug reports to ⟨procps@freelists.org⟩. No subscription is
1210 required or suggested.
1211
1212
1213
1214procps-ng 2020-06-04 PS(1)