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(1) 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.
154
155       -G grplist
156              Select by real group ID (RGID) or name.  This selects the
157              processes whose real group name or ID is in the grplist list.
158              The real group ID identifies the group of the user who created
159              the process, see getgid(2).
160
161       -g grplist
162              Select by session OR by effective group name.  Selection by
163              session is specified by many standards, but selection by
164              effective group is the logical behavior that several other
165              operating systems use.  This ps will select by session when the
166              list is completely numeric (as sessions are).  Group ID numbers
167              will work only when some group names are also specified.  See
168              the -s and --group options.
169
170       --Group grplist
171              Select by real group ID (RGID) or name.  Identical to -G.
172
173       --group grplist
174              Select by effective group ID (EGID) or name.  This selects the
175              processes whose effective group name or ID is in grplist.  The
176              effective group ID describes the group whose file access
177              permissions are used by the process (see getegid(2)).  The -g
178              option is often an alternative to --group.
179
180       p pidlist
181              Select by process ID.  Identical to -p and --pid.
182
183       -p pidlist
184              Select by PID.  This selects the processes whose process ID
185              numbers appear in pidlist.  Identical to p and --pid.
186
187       --pid pidlist
188              Select by process ID.  Identical to -p and p.
189
190       --ppid pidlist
191              Select by parent process ID.  This selects the processes with a
192              parent process ID in pidlist.  That is, it selects processes
193              that are children of those listed in pidlist.
194
195       q pidlist
196              Select by process ID (quick mode).  Identical to -q and
197              --quick-pid.
198
199       -q pidlist
200              Select by PID (quick mode).  This selects the processes whose
201              process ID numbers appear in pidlist.  With this option ps reads
202              the necessary info only for the pids listed in the pidlist and
203              doesn't apply additional filtering rules. The order of pids is
204              unsorted and preserved. No additional selection options, sorting
205              and forest type listings are allowed in this mode.  Identical to
206              q and --quick-pid.
207
208       --quick-pid pidlist
209              Select by process ID (quick mode).  Identical to -q and q.
210
211       -s sesslist
212              Select by session ID.  This selects the processes with a session
213              ID specified in sesslist.
214
215       --sid sesslist
216              Select by session ID.  Identical to -s.
217
218       t ttylist
219              Select by tty.  Nearly identical to -t and --tty, but can also
220              be used with an empty ttylist to indicate the terminal
221              associated with ps.  Using the T option is considered cleaner
222              than using t with an empty ttylist.
223
224       -t ttylist
225              Select by tty.  This selects the processes associated with the
226              terminals given in ttylist.  Terminals (ttys, or screens for
227              text output) can be specified in several forms: /dev/ttyS1,
228              ttyS1, S1.  A plain "-" may be used to select processes not
229              attached to any terminal.
230
231       --tty ttylist
232              Select by terminal.  Identical to -t and t.
233
234       U userlist
235              Select by effective user ID (EUID) or name.  This selects the
236              processes whose effective user name or ID is in userlist.  The
237              effective user ID describes the user whose file access
238              permissions are used by the process (see geteuid(2)).  Identical
239              to -u and --user.
240
241       -U userlist
242              Select by real user ID (RUID) or name.  It selects the processes
243              whose real user name or ID is in the userlist list.  The real
244              user ID identifies the user who created the process, see
245              getuid(2).
246
247       -u userlist
248              Select by effective user ID (EUID) or name.  This selects the
249              processes whose effective user name or ID is in userlist.
250
251              The effective user ID describes the user whose file access
252              permissions are used by the process (see geteuid(2)).  Identical
253              to U and --user.
254
255       --User userlist
256              Select by real user ID (RUID) or name.  Identical to -U.
257
258       --user userlist
259              Select by effective user ID (EUID) or name.  Identical to -u and
260              U.
261

OUTPUT FORMAT CONTROL

263       These options are used to choose the information displayed by ps.  The
264       output may differ by personality.
265
266       -c     Show different scheduler information for the -l option.
267
268       --context
269              Display security context format (for SELinux).
270
271       -f     Do full-format listing. This option can be combined with many
272              other UNIX-style options to add additional columns.  It also
273              causes the command arguments to be printed.  When used with -L,
274              the NLWP (number of threads) and LWP (thread ID) columns will be
275              added.  See the c option, the format keyword args, and the
276              format keyword comm.
277
278       -F     Extra full format.  See the -f option, which -F implies.
279
280       --format format
281              user-defined format.  Identical to -o and o.
282
283       j      BSD job control format.
284
285       -j     Jobs format.
286
287       l      Display BSD long format.
288
289       -l     Long format.  The -y option is often useful with this.
290
291       -M     Add a column of security data.  Identical to Z (for SELinux).
292
293       O format
294              is preloaded o (overloaded).  The BSD O option can act like -O
295              (user-defined output format with some common fields predefined)
296              or can be used to specify sort order.  Heuristics are used to
297              determine the behavior of this option.  To ensure that the
298              desired behavior is obtained (sorting or formatting), specify
299              the option in some other way (e.g.  with -O or --sort).  When
300              used as a formatting option, it is identical to -O, with the BSD
301              personality.
302
303       -O format
304              Like -o, but preloaded with some default columns.  Identical to
305              -o pid,format,state,tname,time,command or -o pid,format,tname,
306              time,cmd, see -o below.
307
308       o format
309              Specify user-defined format.  Identical to -o and --format.
310
311       -o format
312              User-defined format.  format is a single argument in the form of
313              a blank-separated or comma-separated list, which offers a way to
314              specify individual output columns.  The recognized keywords are
315              described in the STANDARD FORMAT SPECIFIERS section below.
316              Headers may be renamed (ps -o pid,ruser=RealUser -o
317              comm=Command) as desired.  If all column headers are empty (ps
318              -o pid= -o comm=) then the header line will not be output.
319              Column width will increase as needed for wide headers; this may
320              be used to widen up columns such as WCHAN (ps -o pid,wchan=WIDE-
321              WCHAN-COLUMN -o comm).  Explicit width control (ps opid,
322              wchan:42,cmd) is offered too.  The behavior of ps -o pid=X,
323              comm=Y varies with personality; output may be one column named
324              "X,comm=Y" or two columns named "X" and "Y".  Use multiple -o
325              options when in doubt.  Use the PS_FORMAT environment variable
326              to specify a default as desired; DefSysV and DefBSD are macros
327              that may be used to choose the default UNIX or BSD columns.
328
329       s      Display signal format.
330
331       u      Display user-oriented format.
332
333       v      Display virtual memory format.
334
335       X      Register format.
336
337       -y     Do not show flags; show rss in place of addr.  This option can
338              only be used with -l.
339
340       Z      Add a column of security data.  Identical to -M (for SELinux).
341

OUTPUT MODIFIERS

343       c      Show the true command name.  This is derived from the name of
344              the executable file, rather than from the argv value.  Command
345              arguments and any modifications to them are thus not shown.
346              This option effectively turns the args format keyword into the
347              comm format keyword; it is useful with the -f format option and
348              with the various BSD-style format options, which all normally
349              display the command arguments.  See the -f option, the format
350              keyword args, and the format keyword comm.
351
352       --cols n
353              Set screen width.
354
355       --columns n
356              Set screen width.
357
358       --cumulative
359              Include some dead child process data (as a sum with the parent).
360
361       e      Show the environment after the command.
362
363       f      ASCII art process hierarchy (forest).
364
365       --forest
366              ASCII art process tree.
367
368       h      No header.  (or, one header per screen in the BSD personality).
369              The h option is problematic.  Standard BSD ps uses this option
370              to print a header on each page of output, but older Linux ps
371              uses this option to totally disable the header.  This version of
372              ps follows the Linux usage of not printing the header unless the
373              BSD personality has been selected, in which case it prints a
374              header on each page of output.  Regardless of the current
375              personality, you can use the long options --headers and
376              --no-headers to enable printing headers each page or disable
377              headers entirely, respectively.
378
379       -H     Show process hierarchy (forest).
380
381       --headers
382              Repeat header lines, one per page of output.
383
384       k spec Specify sorting order.  Sorting syntax is
385              [+|-]key[,[+|-]key[,...]].  Choose a multi-letter key from the
386              STANDARD FORMAT SPECIFIERS section.  The "+" is optional since
387              default direction is increasing numerical or lexicographic
388              order.  Identical to --sort.
389
390                      Examples:
391                      ps jaxkuid,-ppid,+pid
392                      ps axk comm o comm,args
393                      ps kstart_time -ef
394
395       --lines n
396              Set screen height.
397
398       -n namelist
399              Set namelist file.  Identical to N.  The namelist file is needed
400              for a proper WCHAN display, and must match the current Linux
401              kernel exactly for correct output.  Without this option, the
402              default search path for the namelist is:
403
404                      $PS_SYSMAP
405                      $PS_SYSTEM_MAP
406                      /proc/*/wchan
407                      /boot/System.map-$(uname -r)
408                      /boot/System.map
409                      /lib/modules/$(uname -r)/System.map
410                      /usr/src/linux/System.map
411                      /System.map
412
413       n      Numeric output for WCHAN and USER (including all types of UID
414              and GID).
415
416       N namelist
417              Specify namelist file.  Identical to -n, see -n above.
418
419       --no-headers
420              Print no header line at all.  --no-heading is an alias for this
421              option.
422
423       O order
424              Sorting order (overloaded).  The BSD O option can act like -O
425              (user-defined output format with some common fields predefined)
426              or can be used to specify sort order.  Heuristics are used to
427              determine the behavior of this option.  To ensure that the
428              desired behavior is obtained (sorting or formatting), specify
429              the option in some other way (e.g.  with -O or --sort).
430
431              For sorting, obsolete BSD O option syntax is
432              O[+|-]k1[,[+|-]k2[,...]].  It orders the processes listing
433              according to the multilevel sort specified by the sequence of
434              one-letter short keys k1,k2, ...  described in the OBSOLETE SORT
435              KEYS section below.  The "+" is currently optional, merely
436              re-iterating the default direction on a key, but may help to
437              distinguish an O sort from an O format.  The "-" reverses
438              direction only on the key it precedes.
439
440       --rows n
441              Set screen height.
442
443       S      Sum up some information, such as CPU usage, from dead child
444              processes into their parent.  This is useful for examining a
445              system where a parent process repeatedly forks off short-lived
446              children to do work.
447
448       --sort spec
449              Specify sorting order.  Sorting syntax is
450              [+|-]key[,[+|-]key[,...]].  Choose a multi-letter key from the
451              STANDARD FORMAT SPECIFIERS section.  The "+" is optional since
452              default direction is increasing numerical or lexicographic
453              order.  Identical to k.  For example: ps jax --sort=uid,-ppid,
454              +pid
455
456       w      Wide output.  Use this option twice for unlimited width.
457
458       -w     Wide output.  Use this option twice for unlimited width.
459
460       --width n
461              Set screen width.
462

THREAD DISPLAY

464       H      Show threads as if they were processes.
465
466       -L     Show threads, possibly with LWP and NLWP columns.
467
468       m      Show threads after processes.
469
470       -m     Show threads after processes.
471
472       -T     Show threads, possibly with SPID column.
473

OTHER INFORMATION

475       --help section
476              Print a help message.  The section argument can be one of
477              simple, list, output, threads, misc or all.  The argument can be
478              shortened to one of the underlined letters as in: s|l|o|t|m|a.
479
480       --info Print debugging info.
481
482       L      List all format specifiers.
483
484       V      Print the procps-ng version.
485
486       -V     Print the procps-ng version.
487
488       --version
489              Print the procps-ng version.
490

NOTES

492       This ps works by reading the virtual files in /proc.  This ps does not
493       need to be setuid kmem or have any privileges to run.  Do not give this
494       ps any special permissions.
495
496       This ps needs access to namelist data for proper WCHAN display.  For
497       kernels prior to 2.6, the System.map file must be installed.
498
499       CPU usage is currently expressed as the percentage of time spent
500       running during the entire lifetime of a process.  This is not ideal,
501       and it does not conform to the standards that ps otherwise conforms to.
502       CPU usage is unlikely to add up to exactly 100%.
503
504       The SIZE and RSS fields don't count some parts of a process including
505       the page tables, kernel stack, struct thread_info, and struct
506       task_struct.  This is usually at least 20 KiB of memory that is always
507       resident.  SIZE is the virtual size of the process (code+data+stack).
508
509       Processes marked <defunct> are dead processes (so-called "zombies")
510       that remain because their parent has not destroyed them properly.
511       These processes will be destroyed by init(8) if the parent process
512       exits.
513
514       If the length of the username is greater than the length of the display
515       column, the numeric user ID is displayed instead.
516
517       Commands options such as ps -aux are not recommended as it is a
518       confusion of two different standards.  According to the POSIX and UNIX
519       standards, the above command asks to display all processes with a TTY
520       (generally the commands users are running) plus all processes owned by
521       a user named "x".  If that user doesn't exist, then ps will assume you
522       really meant "ps aux".
523

PROCESS FLAGS

525       The sum of these values is displayed in the "F" column, which is
526       provided by the flags output specifier:
527
528               1    forked but didn't exec
529               4    used super-user privileges
530

PROCESS STATE CODES

532       Here are the different values that the s, stat and state output
533       specifiers (header "STAT" or "S") will display to describe the state of
534       a process:
535
536               D    uninterruptible sleep (usually IO)
537               R    running or runnable (on run queue)
538               S    interruptible sleep (waiting for an event to complete)
539               T    stopped by job control signal
540               t    stopped by debugger during the tracing
541               W    paging (not valid since the 2.6.xx kernel)
542               X    dead (should never be seen)
543               Z    defunct ("zombie") process, terminated but not reaped by
544                    its parent
545
546       For BSD formats and when the stat keyword is used, additional
547       characters may be displayed:
548
549               <    high-priority (not nice to other users)
550               N    low-priority (nice to other users)
551               L    has pages locked into memory (for real-time and custom IO)
552               s    is a session leader
553               l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads
554                    do)
555               +    is in the foreground process group
556

OBSOLETE SORT KEYS

558       These keys are used by the BSD O option (when it is used for sorting).
559       The GNU --sort option doesn't use these keys, but the specifiers
560       described below in the STANDARD FORMAT SPECIFIERS section.  Note that
561       the values used in sorting are the internal values ps uses and not the
562       "cooked" values used in some of the output format fields (e.g.  sorting
563       on tty will sort into device number, not according to the terminal name
564       displayed).  Pipe ps output into the sort(1) command if you want to
565       sort the cooked values.
566
567       KEY   LONG         DESCRIPTION
568       c     cmd          simple name of executable
569       C     pcpu         cpu utilization
570       f     flags        flags as in long format F field
571       g     pgrp         process group ID
572       G     tpgid        controlling tty process group ID
573       j     cutime       cumulative user time
574       J     cstime       cumulative system time
575       k     utime        user time
576       m     min_flt      number of minor page faults
577       M     maj_flt      number of major page faults
578       n     cmin_flt     cumulative minor page faults
579       N     cmaj_flt     cumulative major page faults
580       o     session      session ID
581       p     pid          process ID
582       P     ppid         parent process ID
583       r     rss          resident set size
584       R     resident     resident pages
585       s     size         memory size in kilobytes
586       S     share        amount of shared pages
587       t     tty          the device number of the controlling tty
588       T     start_time   time process was started
589       U     uid          user ID number
590       u     user         user name
591       v     vsize        total VM size in KiB
592       y     priority     kernel scheduling priority
593

AIX FORMAT DESCRIPTORS

595       This ps supports AIX format descriptors, which work somewhat like the
596       formatting codes of printf(1) and printf(3).  For example, the normal
597       default output can be produced with this: ps -eo "%p %y %x %c".  The
598       NORMAL codes are described in the next section.
599
600       CODE   NORMAL   HEADER
601       %C     pcpu     %CPU
602       %G     group    GROUP
603       %P     ppid     PPID
604       %U     user     USER
605       %a     args     COMMAND
606       %c     comm     COMMAND
607       %g     rgroup   RGROUP
608       %n     nice     NI
609       %p     pid      PID
610       %r     pgid     PGID
611       %t     etime    ELAPSED
612       %u     ruser    RUSER
613       %x     time     TIME
614       %y     tty      TTY
615
616       %z     vsz      VSZ
617

STANDARD FORMAT SPECIFIERS

619       Here are the different keywords that may be used to control the output
620       format (e.g. with option -o) or to sort the selected processes with the
621       GNU-style --sort option.
622
623       For example: ps -eo pid,user,args --sort user
624
625       This version of ps tries to recognize most of the keywords used in
626       other implementations of ps.
627
628       The following user-defined format specifiers may contain spaces:
629       args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.
630
631       Some keywords may not be available for sorting.
632
633
634       CODE        HEADER    DESCRIPTION
635
636       %cpu        %CPU      cpu utilization of the process in "##.#" format.
637                             Currently, it is the CPU time used divided by the
638                             time the process has been running
639                             (cputime/realtime ratio), expressed as a
640                             percentage.  It will not add up to 100% unless
641                             you are lucky.  (alias pcpu).
642
643       %mem        %MEM      ratio of the process's resident set size  to the
644                             physical memory on the machine, expressed as a
645                             percentage.  (alias pmem).
646
647       args        COMMAND   command with all its arguments as a string.
648                             Modifications to the arguments may be shown.  The
649                             output in this column may contain spaces.  A
650                             process marked <defunct> is partly dead, waiting
651                             to be fully destroyed by its parent.  Sometimes
652                             the process args will be unavailable; when this
653                             happens, ps will instead print the executable
654                             name in brackets.  (alias cmd, command).  See
655                             also the comm format keyword, the -f option, and
656                             the c option.
657                             When specified last, this column will extend to
658                             the edge of the display.  If ps can not determine
659                             display width, as when output is redirected
660                             (piped) into a file or another command, the
661                             output width is undefined (it may be 80,
662                             unlimited, determined by the TERM variable, and
663                             so on).  The COLUMNS environment variable or
664                             --cols option may be used to exactly determine
665                             the width in this case.  The w or -w option may
666                             be also be used to adjust width.
667
668       blocked     BLOCKED   mask of the blocked signals, see signal(7).
669                             According to the width of the field, a 32 or
670                             64-bit mask in hexadecimal format is displayed.
671                             (alias sig_block, sigmask).
672
673       bsdstart    START     time the command started.  If the process was
674                             started less than 24 hours ago, the output format
675                             is " HH:MM", else it is " Mmm:SS" (where Mmm is
676                             the three letters of the month).  See also
677                             lstart, start, start_time, and stime.
678
679       bsdtime     TIME      accumulated cpu time, user + system.  The display
680                             format is usually "MMM:SS", but can be shifted to
681                             the right if the process used more than 999
682                             minutes of cpu time.
683
684
685       c           C         processor utilization. Currently, this is the
686                             integer value of the percent usage over the
687                             lifetime of the process.  (see %cpu).
688
689       caught      CAUGHT    mask of the caught signals, see signal(7).
690                             According to the width of the field, a 32 or 64
691                             bits mask in hexadecimal format is displayed.
692                             (alias sig_catch, sigcatch).
693
694       cgroup      CGROUP    display control groups to which the process
695                             belongs.
696
697       class       CLS       scheduling class of the process.  (alias
698                             policy, cls).  Field's possible values are:
699
700                                      -   not reported
701                                      TS  SCHED_OTHER
702                                      FF  SCHED_FIFO
703                                      RR  SCHED_RR
704                                      B   SCHED_BATCH
705                                      ISO SCHED_ISO
706                                      IDL SCHED_IDLE
707                                      ?   unknown value
708
709       cls         CLS       scheduling class of the process.  (alias
710                             policy, cls).  Field's possible values are:
711
712                                      -   not reported
713                                      TS  SCHED_OTHER
714                                      FF  SCHED_FIFO
715                                      RR  SCHED_RR
716                                      B   SCHED_BATCH
717                                      ISO SCHED_ISO
718                                      IDL SCHED_IDLE
719                                      ?   unknown value
720
721       cmd         CMD       see args.  (alias args, command).
722
723       comm        COMMAND   command name (only the executable name).
724                             Modifications to the command name will not be
725                             shown.  A process marked <defunct> is partly
726                             dead, waiting to be fully destroyed by its
727                             parent.  The output in this column may contain
728                             spaces.  (alias ucmd, ucomm).  See also the args
729                             format keyword, the -f option, and the c option.
730                             When specified last, this column will extend to
731                             the edge of the display.  If ps can not determine
732                             display width, as when output is redirected
733                             (piped) into a file or another command, the
734                             output width is undefined (it may be 80,
735                             unlimited, determined by the TERM variable, and
736                             so on).  The COLUMNS environment variable or
737                             --cols option may be used to exactly determine
738                             the width in this case.  The w or -w option may
739                             be also be used to adjust width.
740
741       command     COMMAND   See args.  (alias args, command).
742
743       cp          CP        per-mill (tenths of a percent) CPU usage.  (see
744                             %cpu).
745
746       cputime     TIME      cumulative CPU time, "[DD-]hh:mm:ss" format.
747                             (alias time).
748
749       drs         DRS       data resident set size, the amount of physical
750                             memory devoted to other than executable code.
751
752
753
754       egid        EGID      effective group ID number of the process as a
755                             decimal integer.  (alias gid).
756
757       egroup      EGROUP    effective group ID of the process.  This will be
758                             the textual group ID, if it can be obtained and
759                             the field width permits, or a decimal
760                             representation otherwise.  (alias group).
761
762       eip         EIP       instruction pointer.
763
764       esp         ESP       stack pointer.
765
766       etime       ELAPSED   elapsed time since the process was started, in
767                             the form [[DD-]hh:]mm:ss.
768
769       etimes      ELAPSED   elapsed time since the process was started, in
770                             seconds.
771
772       euid        EUID      effective user ID (alias uid).
773
774       euser       EUSER     effective user name.  This will be the textual
775                             user ID, if it can be obtained and the field
776                             width permits, or a decimal representation
777                             otherwise.  The n option can be used to force the
778                             decimal representation.  (alias uname, user).
779
780       f           F         flags associated with the process, see the
781                             PROCESS FLAGS section.  (alias flag, flags).
782
783       fgid        FGID      filesystem access group ID.  (alias fsgid).
784
785       fgroup      FGROUP    filesystem access group ID.  This will be the
786                             textual group ID, if it can be obtained and the
787                             field width permits, or a decimal representation
788                             otherwise.  (alias fsgroup).
789
790       flag        F         see f.  (alias f, flags).
791
792       flags       F         see f.  (alias f, flag).
793
794       fname       COMMAND   first 8 bytes of the base name of the process's
795                             executable file.  The output in this column may
796                             contain spaces.
797
798       fuid        FUID      filesystem access user ID.  (alias fsuid).
799
800       fuser       FUSER     filesystem access user ID.  This will be the
801                             textual user ID, if it can be obtained and the
802                             field width permits, or a decimal representation
803                             otherwise.
804
805       gid         GID       see egid.  (alias egid).
806
807       group       GROUP     see egroup.  (alias egroup).
808
809       ignored     IGNORED   mask of the ignored signals, see signal(7).
810                             According to the width of the field, a 32 or 64
811                             bits mask in hexadecimal format is displayed.
812                             (alias sig_ignore, sigignore).
813
814       ipcns       IPCNS     Unique inode number describing the namespace the
815                             process belongs to. See namespaces(7).
816
817       label       LABEL     security label, most commonly used for SELinux
818                             context data.  This is for the Mandatory Access
819                             Control ("MAC") found on high-security systems.
820
821
822
823       lstart      STARTED   time the command started.  See also
824                             bsdstart, start, start_time, and stime.
825
826       lsession    SESSION   displays the login session identifier of a
827                             process, if systemd support has been included.
828
829       luid        LUID      displays Login ID associated with a process.
830
831       lwp         LWP       light weight process (thread) ID of the
832                             dispatchable entity (alias spid, tid).  See tid
833                             for additional information.
834
835       machine     MACHINE   displays the machine name for processes assigned
836                             to VM or container, if systemd support has been
837                             included.
838
839       maj_flt     MAJFLT    The number of major page faults that have
840                             occurred with this process.
841
842       min_flt     MINFLT    The number of minor page faults that have
843                             occurred with this process.
844
845       mntns       MNTNS     Unique inode number describing the namespace the
846                             process belongs to. See namespaces(7).
847
848       netns       NETNS     Unique inode number describing the namespace the
849                             process belongs to. See namespaces(7).
850
851       ni          NI        nice value. This ranges from 19 (nicest) to -20
852                             (not nice to others), see nice(1).  (alias nice).
853
854       nice        NI        see ni.(alias ni).
855
856       nlwp        NLWP      number of lwps (threads) in the process.  (alias
857                             thcount).
858
859       nwchan      WCHAN     address of the kernel function where the process
860                             is sleeping (use wchan if you want the kernel
861                             function name).  Running tasks will display a
862                             dash ('-') in this column.
863
864       ouid        OWNER     displays the Unix user identifier of the owner of
865                             the session of a process, if systemd support has
866                             been included.
867
868       pcpu        %CPU      see %cpu.  (alias %cpu).
869
870       pending     PENDING   mask of the pending signals. See signal(7).
871                             Signals pending on the process are distinct from
872                             signals pending on individual threads.  Use the m
873                             option or the -m option to see both.  According
874                             to the width of the field, a 32 or 64 bits mask
875                             in hexadecimal format is displayed.  (alias sig).
876
877       pgid        PGID      process group ID or, equivalently, the process ID
878                             of the process group leader.  (alias pgrp).
879
880       pgrp        PGRP      see pgid.  (alias pgid).
881
882       pid         PID       a number representing the process ID (alias
883                             tgid).
884
885       pidns       PIDNS     Unique inode number describing the namespace the
886                             process belongs to. See namespaces(7).
887
888       pmem        %MEM      see %mem.  (alias %mem).
889
890
891
892       policy      POL       scheduling class of the process.  (alias
893                             class, cls).  Possible values are:
894
895                                      -   not reported
896                                      TS  SCHED_OTHER
897                                      FF  SCHED_FIFO
898                                      RR  SCHED_RR
899                                      B   SCHED_BATCH
900                                      ISO SCHED_ISO
901                                      IDL SCHED_IDLE
902                                      ?   unknown value
903
904       ppid        PPID      parent process ID.
905
906       pri         PRI       priority of the process.  Higher number means
907                             lower priority.
908
909       psr         PSR       processor that process is currently assigned to.
910
911       rgid        RGID      real group ID.
912
913       rgroup      RGROUP    real group name.  This will be the textual group
914                             ID, if it can be obtained and the field width
915                             permits, or a decimal representation otherwise.
916
917       rss         RSS       resident set size, the non-swapped physical
918                             memory that a task has used (in kiloBytes).
919                             (alias rssize, rsz).
920
921       rssize      RSS       see rss.  (alias rss, rsz).
922
923       rsz         RSZ       see rss.  (alias rss, rssize).
924
925       rtprio      RTPRIO    realtime priority.
926
927       ruid        RUID      real user ID.
928
929       ruser       RUSER     real user ID.  This will be the textual user ID,
930                             if it can be obtained and the field width
931                             permits, or a decimal representation otherwise.
932
933       s           S         minimal state display (one character).  See
934                             section PROCESS STATE CODES for the different
935                             values.  See also stat if you want additional
936                             information displayed.  (alias state).
937
938       sched       SCH       scheduling policy of the process.  The policies
939                             SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR,
940                             SCHED_BATCH, SCHED_ISO, and SCHED_IDLE are
941                             respectively displayed as 0, 1, 2, 3, 4, and 5.
942
943       seat        SEAT      displays the identifier associated with all
944                             hardware devices assigned to a specific
945                             workplace, if systemd support has been included.
946
947       sess        SESS      session ID or, equivalently, the process ID of
948                             the session leader.  (alias session, sid).
949
950       sgi_p       P         processor that the process is currently executing
951                             on.  Displays "*" if the process is not currently
952                             running or runnable.
953
954       sgid        SGID      saved group ID.  (alias svgid).
955
956       sgroup      SGROUP    saved group name.  This will be the textual group
957                             ID, if it can be obtained and the field width
958                             permits, or a decimal representation otherwise.
959
960
961       sid         SID       see sess.  (alias sess, session).
962
963       sig         PENDING   see pending.  (alias pending, sig_pend).
964
965       sigcatch    CAUGHT    see caught.  (alias caught, sig_catch).
966
967       sigignore   IGNORED   see ignored.  (alias ignored, sig_ignore).
968
969       sigmask     BLOCKED   see blocked.  (alias blocked, sig_block).
970
971       size        SIZE      approximate amount of swap space that would be
972                             required if the process were to dirty all
973                             writable pages and then be swapped out.  This
974                             number is very rough!
975
976       slice       SLICE     displays the slice unit which a process belongs
977                             to, if systemd support has been included.
978
979       spid        SPID      see lwp.  (alias lwp, tid).
980
981       stackp      STACKP    address of the bottom (start) of stack for the
982                             process.
983
984       start       STARTED   time the command started.  If the process was
985                             started less than 24 hours ago, the output format
986                             is "HH:MM:SS", else it is "  Mmm dd" (where Mmm
987                             is a three-letter month name).  See also
988                             lstart, bsdstart, start_time, and stime.
989
990       start_time  START     starting time or date of the process.  Only the
991                             year will be displayed if the process was not
992                             started the same year ps was invoked, or "MmmDD"
993                             if it was not started the same day, or "HH:MM"
994                             otherwise.  See also bsdstart, start, lstart,
995                             and stime.
996
997       stat        STAT      multi-character process state.  See section
998                             PROCESS STATE CODES for the different values
999                             meaning.  See also s and state if you just want
1000                             the first character displayed.
1001
1002       state       S         see s. (alias s).
1003
1004       suid        SUID      saved user ID.  (alias svuid).
1005
1006       supgid      SUPGID    group ids of supplementary groups, if any.  See
1007                             getgroups(2).
1008
1009       supgrp      SUPGRP    group names of supplementary groups, if any.  See
1010                             getgroups(2).
1011
1012       suser       SUSER     saved user name.  This will be the textual user
1013                             ID, if it can be obtained and the field width
1014                             permits, or a decimal representation otherwise.
1015                             (alias svuser).
1016
1017       svgid       SVGID     see sgid.  (alias sgid).
1018
1019       svuid       SVUID     see suid.  (alias suid).
1020
1021       sz          SZ        size in physical pages of the core image of the
1022                             process.  This includes text, data, and stack
1023                             space.  Device mappings are currently excluded;
1024                             this is subject to change.  See vsz and rss.
1025
1026       tgid        TGID      a number representing the thread group to which a
1027                             task belongs (alias pid).  It is the process ID
1028                             of the thread group leader.
1029
1030
1031       thcgr       THCGR     display control groups to which the thread
1032                             belongs.
1033
1034       thcount     THCNT     see nlwp.  (alias nlwp).  number of kernel
1035                             threads owned by the process.
1036
1037       tid         TID       the unique number representing a dispatchable
1038                             entity (alias lwp, spid).  This value may also
1039                             appear as: a process ID (pid); a process group ID
1040                             (pgrp); a session ID for the session leader
1041                             (sid); a thread group ID for the thread group
1042                             leader (tgid); and a tty process group ID for the
1043                             process group leader (tpgid).
1044
1045       time        TIME      cumulative CPU time, "[DD-]HH:MM:SS" format.
1046                             (alias cputime).
1047
1048       tname       TTY       controlling tty (terminal).  (alias tt, tty).
1049
1050       tpgid       TPGID     ID of the foreground process group on the tty
1051                             (terminal) that the process is connected to, or
1052                             -1 if the process is not connected to a tty.
1053
1054       trs         TRS       text resident set size, the amount of physical
1055                             memory devoted to executable code.
1056
1057       tt          TT        controlling tty (terminal).  (alias tname, tty).
1058
1059       tty         TT        controlling tty (terminal).  (alias tname, tt).
1060
1061       ucmd        CMD       see comm.  (alias comm, ucomm).
1062
1063       ucomm       COMMAND   see comm.  (alias comm, ucmd).
1064
1065       uid         UID       see euid.  (alias euid).
1066
1067       uname       USER      see euser.  (alias euser, user).
1068
1069       unit        UNIT      displays unit which a process belongs to, if
1070                             systemd support has been included.
1071
1072       user        USER      see euser.  (alias euser, uname).
1073
1074       userns      USERNS    Unique inode number describing the namespace the
1075                             process belongs to. See namespaces(7).
1076
1077       utsns       UTSNS     Unique inode number describing the namespace the
1078                             process belongs to. See namespaces(7).
1079
1080       uunit       UUNIT     displays user unit which a process belongs to, if
1081                             systemd support has been included.
1082
1083       vsize       VSZ       see vsz.  (alias vsz).
1084
1085       vsz         VSZ       virtual memory size of the process in KiB
1086                             (1024-byte units).  Device mappings are currently
1087                             excluded; this is subject to change.  (alias
1088                             vsize).
1089
1090       wchan       WCHAN     name of the kernel function in which the process
1091                             is sleeping, a "-" if the process is running, or
1092                             a "*" if the process is multi-threaded and ps is
1093                             not displaying threads.
1094
1095

ENVIRONMENT VARIABLES

1097       The following environment variables could affect ps:
1098
1099       COLUMNS
1100          Override default display width.
1101
1102       LINES
1103          Override default display height.
1104
1105       PS_PERSONALITY
1106          Set to one of posix, old, linux, bsd, sun, digital...  (see section
1107          PERSONALITY below).
1108
1109       CMD_ENV
1110          Set to one of posix, old, linux, bsd, sun, digital...  (see section
1111          PERSONALITY below).
1112
1113       I_WANT_A_BROKEN_PS
1114          Force obsolete command line interpretation.
1115
1116       LC_TIME
1117          Date format.
1118
1119       PS_COLORS
1120          Not currently supported.
1121
1122       PS_FORMAT
1123          Default output format override. You may set this to a format string
1124          of the type used for the -o option.  The DefSysV and DefBSD values
1125          are particularly useful.
1126
1127       PS_SYSMAP
1128          Default namelist (System.map) location.
1129
1130       PS_SYSTEM_MAP
1131          Default namelist (System.map) location.
1132
1133       POSIXLY_CORRECT
1134          Don't find excuses to ignore bad "features".
1135
1136       POSIX2
1137          When set to "on", acts as POSIXLY_CORRECT.
1138
1139       UNIX95
1140          Don't find excuses to ignore bad "features".
1141
1142       _XPG
1143          Cancel CMD_ENV=irix non-standard behavior.
1144
1145       In general, it is a bad idea to set these variables.  The one exception
1146       is CMD_ENV or PS_PERSONALITY, which could be set to Linux for normal
1147       systems.  Without that setting, ps follows the useless and bad parts of
1148       the Unix98 standard.
1149

PERSONALITY

1151       390        like the OS/390 OpenEdition ps
1152       aix        like AIX ps
1153       bsd        like FreeBSD ps (totally non-standard)
1154       compaq     like Digital Unix ps
1155       debian     like the old Debian ps
1156       digital    like Tru64 (was Digital Unix, was OSF/1) ps
1157       gnu        like the old Debian ps
1158       hp         like HP-UX ps
1159       hpux       like HP-UX ps
1160       irix       like Irix ps
1161       linux      ***** recommended *****
1162       old        like the original Linux ps (totally non-standard)
1163       os390      like OS/390 Open Edition ps
1164       posix      standard
1165       s390       like OS/390 Open Edition ps
1166       sco        like SCO ps
1167
1168       sgi        like Irix ps
1169       solaris2   like Solaris 2+ (SunOS 5) ps
1170       sunos4     like SunOS 4 (Solaris 1) ps (totally non-standard)
1171       svr4       standard
1172       sysv       standard
1173       tru64      like Tru64 (was Digital Unix, was OSF/1) ps
1174       unix       standard
1175       unix95     standard
1176       unix98     standard
1177

SEE ALSO

1179       pgrep(1), pstree(1), top(1), proc(5).
1180

STANDARDS

1182       This ps conforms to:
1183
1184       1   Version 2 of the Single Unix Specification
1185       2   The Open Group Technical Standard Base Specifications, Issue 6
1186       3   IEEE Std 1003.1, 2004 Edition
1187       4   X/Open System Interfaces Extension [UP XSI]
1188       5   ISO/IEC 9945:2003
1189

AUTHOR

1191       ps was originally written by Branko Lankester ⟨lankeste@fwi.uva.nl⟩.
1192       Michael K. Johnson ⟨johnsonm@redhat.com⟩ re-wrote it significantly to
1193       use the proc filesystem, changing a few things in the process.  Michael
1194       Shields ⟨mjshield@nyx.cs.du.edu⟩ added the pid-list feature.  Charles
1195       Blake ⟨cblake@bbn.com⟩ added multi-level sorting, the dirent-style
1196       library, the device name-to-number mmaped database, the approximate
1197       binary search directly on System.map, and many code and documentation
1198       cleanups.  David Mossberger-Tang wrote the generic BFD support for
1199       psupdate.  Albert Cahalan ⟨albert@users.sf.net⟩ rewrote ps for full
1200       Unix98 and BSD support, along with some ugly hacks for obsolete and
1201       foreign syntax.
1202
1203       Please send bug reports to ⟨procps@freelists.org⟩.  No subscription is
1204       required or suggested.
1205
1206
1207
1208procps-ng                          July 2014                             PS(1)
Impressum