1PS(1)                            User Commands                           PS(1)
2
3
4

NAME

6       ps - report a snapshot of the current processes.
7

SYNOPSIS

9       ps [options]
10

DESCRIPTION

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

EXAMPLES

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

SIMPLE PROCESS SELECTION

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

PROCESS SELECTION BY LIST

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

OUTPUT FORMAT CONTROL

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

OUTPUT MODIFIERS

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

THREAD DISPLAY

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

OTHER INFORMATION

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

NOTES

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

PROCESS FLAGS

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

PROCESS STATE CODES

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

OBSOLETE SORT KEYS

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

AIX FORMAT DESCRIPTORS

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

STANDARD FORMAT SPECIFIERS

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

ENVIRONMENT VARIABLES

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

PERSONALITY

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

SEE ALSO

1185       pgrep(1), pstree(1), top(1), proc(5).
1186

STANDARDS

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

AUTHOR

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