diff options
Diffstat (limited to 'man/ps.1')
-rw-r--r-- | man/ps.1 | 2124 |
1 files changed, 2124 insertions, 0 deletions
diff --git a/man/ps.1 b/man/ps.1 new file mode 100644 index 0000000..0f4d946 --- /dev/null +++ b/man/ps.1 @@ -0,0 +1,2124 @@ +.\" +.\" Copyright (c) 2004-2023 Craig Small <csmall@dropbear.xyz> +.\" Copyright (c) 2011-2023 Jim Warner <james.warner@comcast.net> +.\" Copyright (c) 2011-2012 Sami Kerola <kerolasa@iki.fi> +.\" Copyright (c) 1998-2003 Albert Cahalan +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" +.TH PS "1" "2023-08-19" "procps-ng" "User Commands" +.\" +.\" Ragged-right text. +.na +.\" Disable hyphenation. +.nh +.\" +.\" ColSize is used for the format spec table. +.\" It's the left margin, minus the right, minus +.\" the space needed for the 1st two columns. +.\" Making it messy: inches, ens, points, scaled points... +.\" +.nr ColSize ((\n[.l] - \n[.i]) / 1n - 29) +.\" +.SH NAME +ps \- report a snapshot of the current processes. +.SH SYNOPSIS +\fBps\fR [\,\fIoptions\/\fR] +.SH DESCRIPTION +.B ps +displays information about a selection of the active processes. If you want +a repetitive update of the selection and the displayed information, use +.B top +instead. +.P +This version of +.B ps +accepts several kinds of options: +.IP +.PD 0 +.IP 1 4 +UNIX options, which may be grouped and must be preceded by a dash. +.IP 2 4 +BSD options, which may be grouped and must not be used with a dash. +.IP 3 4 +GNU long options, which are preceded by two dashes. +.PD +.PP +Options of different types may be freely mixed, but conflicts can appear. +There are some synonymous options, which are functionally identical, due to +the many standards and +.B ps +implementations that this +.B ps +is compatible with. +.P +By default, +.B ps +selects all processes with the same effective user ID (euid=EUID) as the +current user and associated with the same terminal as the invoker. It +displays the process ID (pid=PID), the terminal associated with the process +(tname=TTY), the cumulated CPU time in [DD\-]hh:mm:ss format (time=TIME), and +the executable name (ucmd=CMD). Output is unsorted by default. +.P +The use of BSD\-style options will add process state (stat=STAT) to the +default display and show the command args (args=COMMAND) instead of the +executable name. You can override this with the +.B PS_FORMAT +environment variable. The use of BSD\-style options will also change the +process selection to include processes on other terminals (TTYs) that are +owned by you; alternately, this may be described as setting the selection to +be the set of all processes filtered to exclude processes owned by other +users or not on a terminal. These effects are not considered when options +are described as being "identical" below, so +.B \-M +will be considered identical to \fBZ\fR and so on. +.P +Except as described below, process selection options are additive. The +default selection is discarded, and then the selected processes are added to +the set of processes to be displayed. A process will thus be shown if it +meets any of the given selection criteria. +.SH "EXAMPLES" +.TP 3 +To see every process on the system using standard syntax: +.B ps\ \-e +.br +.B ps\ \-ef +.br +.B ps\ \-eF +.br +.B ps\ \-ely +.TP +To see every process on the system using BSD syntax: +.B ps\ ax +.br +.B ps\ axu +.TP +To print a process tree: +.B ps\ \-ejH +.br +.B ps\ axjf +.TP +To get info about threads: +.B ps\ \-eLf +.br +.B ps\ axms +.TP +To get security info: +.B ps\ \-eo euser,ruser,suser,fuser,f,comm,label +.br +.B ps\ axZ +.br +.B ps\ \-eM +.TP +To see every process running as root (real\ &\ effective\ ID) in user format: +.B ps\ \-U\ root\ \-u\ root\ u +.TP +To see every process with a user\-defined format: +.B ps\ \-eo\ pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm +.br +.B ps\ axo\ stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm +.br +.B ps\ \-Ao\ pid,tt,user,fname,tmout,f,wchan +.TP +Print only the process IDs of syslogd: +.B ps\ \-C\ syslogd\ \-o\ pid= +.TP +Print only the name of PID 42: +.B ps\ \-q\ 42\ \-o\ comm= +.SH "SIMPLE PROCESS SELECTION" +.TP +.B a +Lift the BSD\-style "only yourself" restriction, which is imposed upon the +set of all processes when some BSD\-style (without "\-") options are used or +when the +.B ps +personality setting is BSD\-like. The set of processes selected in this +manner is in addition to the set of processes selected by other means. An +alternate description is that this option causes +.B ps +to list all processes with a terminal (tty), or to list all processes when +used together with the +.B x +option. +.TP +.B \-A +Select all processes. Identical to +.BR \-e . +.TP +.B \-a +Select all processes except both session leaders (see +.IR getsid (2)) +and processes not associated with a terminal. +.TP +.B \-d +Select all processes except session leaders. +.TP +.B \-\-deselect +Select all processes except those that fulfill the specified conditions +(negates the selection). Identical to +.BR \-N . +.TP +.B \-e +Select all processes. Identical to +.BR \-A . +.\" Current "g" behavior: add in the session leaders, which would +.\" be excluded in the sunos4 personality. Supposed "g" behavior: +.\" add in the group leaders -- at least according to the SunOS 4 +.\" man page on the FreeBSD site. Uh oh. I think I had tested SunOS +.\" though, so maybe the code is correct. +.TP +.B g +Really all, even session leaders. This flag is obsolete and may be +discontinued in a future release. It is normally implied by the +.B a +flag, and is only useful when operating in the sunos4 personality. +.TP +.B \-N +Select all processes except those that fulfill the specified conditions +(negates the selection). Identical to +.BR \-\-deselect . +.TP +.B T +Select all processes associated with this terminal. Identical to the +.B t +option without any argument. +.TP +.B r +Restrict the selection to only running processes. +.TP +.B x +Lift the BSD\-style "must have a tty" restriction, which is imposed upon the +set of all processes when some BSD\-style (without "\-") options are used or +when the +.B ps +personality setting is BSD\-like. The set of processes selected in this +manner is in addition to the set of processes selected by other means. An +alternate description is that this option causes +.B ps +to list all processes owned by you (same EUID as +.BR ps ), +or to list all processes when used together with the +.B a +option. +.PD +.SH "PROCESS SELECTION BY LIST" +These options accept a single argument in the form of a blank\-separated or +comma\-separated list. They can be used multiple times. For example: +.B ps\ \-p\ "1\ 2"\ \-p\ 3,4 +.TP +.I 123 +Identical to +.B \-\-pid\ \fI123\fR. +.TP +.RI \+ 123 +Identical to +.B \-\-sid\ \fI123\fR. +.TP +.RI \- 123 +Select by process group ID (PGID). +.TP +.BI \-C \ cmdlist +Select by command name. This selects the processes whose executable name is +given in +.IR cmdlist . +NOTE: The command name is not the same as the command line. Previous versions +of procps and the kernel truncated this command name to 15 characters. This +limitation is no longer present in both. If you depended on matching only +15 characters, you may no longer get a match. +.TP +.BI \-G \ grplist +Select by real group ID (RGID) or name. This selects the processes whose +real group name or ID is in the +.I grplist +list. The real group ID identifies the group of the user who created the +process, see +.IR getgid (2). +.TP +.BI \-g \ grplist +Select by session OR by effective group name. Selection by session is +specified by many standards, but selection by effective group is the logical +behavior that several other operating systems use. This +.B ps +will select by session when the list is completely numeric (as sessions +are). Group ID numbers will work only when some group names are also +specified. See the +.B \-s +and +.B \-\-group +options. +.TP +.BI \-\-Group \ grplist +Select by real group ID (RGID) or name. Identical to +.BR \-G . +.TP +.BI \-\-group \ grplist +Select by effective group ID (EGID) or name. This selects the processes +whose effective group name or ID is in +.IR grplist . +The effective group ID describes the group whose file access permissions are +used by the process (see +.IR getegid (2)). +The +.B \-g +option is often an alternative to +.BR \-\-group . +.TP +.BI p \ pidlist +Select by process ID. Identical to +.B \-p +and +.BR \-\-pid . +.TP +.BI \-p \ pidlist +Select by PID. This selects the processes whose process ID numbers appear in +.IR pidlist . +Identical to +.B p +and +.BR \-\-pid . +.TP +.BI \-\-pid \ pidlist +Select by process\ ID. Identical to +.B \-p +and +.BR p . +.TP +.BI \-\-ppid \ pidlist +Select by parent process ID. This selects the processes with a parent +process\ ID in +.IR pidlist . +That is, it selects processes that are children of those listed in +.IR pidlist . +.TP +.BI q \ pidlist +Select by process ID (quick mode). Identical to +.B \-q +and +.BR \-\-quick\-pid . +.TP +.BI \-q \ pidlist +Select by PID (quick mode). +This selects the processes whose process ID numbers appear in +.IR pidlist . +With this option \fBps\fR reads the necessary info only +for the pids listed in the \fIpidlist\fR and doesn't apply +additional filtering rules. The order of pids is unsorted +and preserved. No additional selection options, sorting +and forest type listings are allowed in this mode. +Identical to +.B q +and +.BR \-\-quick\-pid . +.TP +.BI \-\-quick\-pid \ pidlist +Select by process\ ID (quick mode). Identical to +.B \-q +and +.BR q . +.TP +.BI \-s \ sesslist +Select by session ID. This selects the processes with a session ID specified +in +.IR sesslist . +.TP +.BI \-\-sid \ sesslist +Select by session\ ID. Identical to +.BR \-s . +.TP +.BI t \ ttylist +Select by tty. Nearly identical to +.B \-t +and +.BR \-\-tty , +but can also +be used with an empty +.I ttylist +to indicate the terminal associated with +.BR ps . +Using the +.B T +option is considered cleaner than using +.B t +with an empty +.IR ttylist . +.TP +.BI \-t \ ttylist +Select by tty. This selects the processes associated with the terminals +given in +.IR ttylist . +Terminals (ttys, or screens for text output) can be specified in several +forms: /dev/ttyS1, ttyS1, S1. A plain "\-" may be used to select processes +not attached to any terminal. +.TP +.BI \-\-tty \ ttylist +Select by terminal. Identical to +.B \-t +and +.BR t . +.TP +.BI U \ userlist +Select by effective user ID (EUID) or name. This selects the processes whose +effective user name or ID is in +.IR userlist . +The effective user ID describes the user whose file access permissions are +used by the process (see +.IR geteuid (2)). +Identical to +.B \-u +and +.BR \-\-user . +.TP +.BI \-U \ userlist +Select by real user ID (RUID) or name. It selects the processes whose real +user name or ID is in the +.I userlist +list. The real user ID identifies the user who created the process, see +.IR getuid (2). +.TP +.BI \-u \ userlist +Select by effective user ID (EUID) or name. This selects the processes whose +effective user name or ID is in +.IR userlist . + +The effective user ID describes the user whose file +access permissions are used by the process (see +.IR geteuid (2)). +Identical to +.B U +and +.BR \-\-user . +.TP +.BI \-\-User \ userlist +Select by real user ID (RUID) or name. Identical to +.BR \-U . +.TP +.BI \-\-user \ userlist +Select by effective user ID (EUID) or name. Identical to +.B \-u +and +.BR U . +.PD +.SH "OUTPUT FORMAT CONTROL" +These options are used to choose the information displayed by +.BR ps . +The output may differ by personality. +.TP +.B \-c +Show different scheduler information for the +.B \-l +option. +.TP +.B \-\-context +Display security context format (for SELinux). +.TP +.B \-f +Do full\-format listing. This option can be combined with many other +UNIX\-style options to add additional columns. It also causes the command +arguments to be printed. When used with +.BR \-L , +the NLWP (number of threads) and LWP (thread ID) columns will be added. See +the +.B c +option, the format keyword +.BR args , +and the format keyword +.BR comm . +.TP +.B \-F +Extra full format. See the +.B \-f +option, which +.B \-F +implies. +.TP +.BI \-\-format \ format +user\-defined format. Identical to +.B \-o +and +.BR o . +.TP +.B j +BSD job control format. +.TP +.B \-j +Jobs format. +.TP +.B l +Display BSD long format. +.TP +.B \-l +Long format. The +.B \-y +option is often useful with this. +.TP +.B \-M +Add a column of security data. Identical to +.B Z +(for SELinux). +.TP +.BI O \ format +is preloaded +.B o +(overloaded). The BSD +.B O +option can act like +.B \-O +(user\-defined output format with some common fields predefined) or can be +used to specify sort order. Heuristics are used to determine the behavior of +this option. To ensure that the desired behavior is obtained (sorting or +formatting), specify the option in some other way (e.g. with +.B \-O +or +.BR \-\-sort ). +When used as a formatting option, it is identical to +.BR \-O , +with the BSD personality. +.TP +.BI \-O \ format +Like +.BR \-o , +but preloaded with some default columns. Identical to +.BI \-o\ pid,\: format ,\:state,\:tname,\:time,\:command +or +.BI \-o\ pid,\: format ,\:tname,\:time,\:cmd \fR, +see +.B \-o +below. +.TP +.BI o \ format +Specify user\-defined format. Identical to +.B \-o +and +.BR \-\-format . +.TP +.BI \-o \ format +User\-defined format. +.I format +is a single argument in the form of a blank\-separated or comma\-separated +list, which offers a way to specify individual output columns. The +recognized keywords are described in the +.B STANDARD FORMAT SPECIFIERS +section below. Headers may be renamed +.RB ( "ps \-o pid,\:ruser=RealUser \-o comm=Command" ) +as desired. +If all column headers are empty +.RB ( "ps \-o pid= \-o comm=" ) +then the header line will not be output. Column width will increase as +needed for wide headers; this may be used to widen up columns such as WCHAN +.RB ( "ps \-o pid,\:wchan=\:WIDE\-\:WCHAN\-\:COLUMN \-o comm" ). +Explicit width +control +.RB ( "ps opid,\:wchan:42,\:cmd" ) +is offered too. The behavior of +.B ps \-o pid=X,\:comm=Y +varies with personality; output may be one column named "X,\:comm=Y" or two +columns named "X" and "Y". Use multiple +.B \-o +options when in doubt. Use the +.B PS_FORMAT +environment variable to specify a default as desired; DefSysV and DefBSD are +macros that may be used to choose the default UNIX or BSD columns. +.TP +.B \-P +Add a column showing \fBpsr\fR. +.TP +.B s +Display signal format. +.TP +.B u +Display user\-oriented format. +.TP +.B v +Display virtual memory format. +.TP +.B X +Register format. +.TP +.B \-y +Do not show flags; show rss in place of addr. This option can only be used +with +.BR \-l . +.TP +.B Z +Add a column of security data. Identical to +.B \-M +(for SELinux). +.PD +.SH "OUTPUT MODIFIERS" +.TP +.B c +Show the true command name. This is derived from the name of the executable +file, rather than from the argv value. Command arguments and any +modifications to them are thus not shown. This option effectively turns the +.B args +format keyword into the +.B comm +format keyword; it is useful with the +.B \-f +format option and with the various BSD\-style format options, which all +normally display the command arguments. See the +.B \-f +option, the format +keyword +.BR args , +and the format keyword +.BR comm . +.TP +.BI \-\-cols \ n +Set screen width. +.TP +.BI \-\-columns \ n +Set screen width. +.TP +.B \-\-cumulative +Include some dead child process data (as a sum with the parent). +.TP +.TP +.BI \-D \ format +Set the date format of the \fBlstart\fR field to \fIformat\fR. This format is parsed +by +.BR strftime (3) +and should be a maximum of 24 characters to not mis-align columns. +.TP +.BI \-\-date-format \ format +Identical to \fB\-D\fR. +.TP +.B e +Show the environment after the command. +.TP +.B f +ASCII art process hierarchy (forest). +.TP +.B \-\-forest +ASCII art process tree. +.TP +.B h +No header. (or, one header per screen in the BSD personality). The +.B h +option is problematic. Standard BSD +.B ps +uses this option to print a header on each page of output, but older Linux +.B ps +uses this option to totally disable the header. This version of +.B ps +follows the Linux usage of not printing the header unless the BSD personality +has been selected, in which case it prints a header on each page of output. +Regardless of the current personality, you can use the long options +.B \-\-headers +and +.B \-\-no\-headers +to enable printing headers each page or disable headers entirely, +respectively. +.TP +.B \-H +Show process hierarchy (forest). +.TP +.B \-\-headers +Repeat header lines, one per page of output. +.TP +.BI k \ spec +Specify sorting order. Sorting syntax is +.RB [ + | \- ]\c +.I key\/\c +.RB [,[ + | \- ]\c +.IR key [,...]]. +Choose a multi\-letter key from the +.B STANDARD FORMAT SPECIFIERS +section. The "+" is optional since default direction is increasing +numerical or lexicographic order. Identical to +.BR \-\-sort . +.RS 8 +.IP +Examples: +.br +.B ps jaxkuid,\-ppid,+pid +.br +.B ps axk comm o comm,args +.br +.B ps kstart_time \-ef +.RE +.TP +.BI \-\-lines \ n +Set screen height. +.TP +.B n +Numeric output for WCHAN and USER (including all types of UID and GID). +.TP +.B \-\-no\-headers +Print no header line at all. +.B \-\-no\-heading +is an alias for this option. +.TP +.BI O \ order +Sorting order (overloaded). +The BSD +.B O +option can act like +.B \-O +(user\-defined output format with some common fields predefined) or can be +used to specify sort order. Heuristics are used to determine the behavior of +this option. To ensure that the desired behavior is obtained (sorting or +formatting), specify the option in some other way (e.g. with +.B \-O +or +.BR \-\-sort ). +.IP +For sorting, obsolete BSD +.B O +option syntax is +.BR O [ + | \- ]\c +.IR k1 [,[\c +.BR + | \- ]\c +.IR k2 [,...]]. +It orders the processes listing according to the multilevel sort specified by +the sequence of one\-letter short keys +.IR k1 , k2 ", ...\&" +described in the +.B OBSOLETE SORT KEYS +section below. The\ "+" is currently optional, merely re\-iterating the +default direction on a key, but may help to distinguish an +.B O +sort from an +.B O +format. The "\-" reverses direction only on the key it precedes. +.TP +.BI \-\-rows \ n +Set screen height. +.TP +.B S +Sum up some information, such as CPU usage, from dead child processes into +their parent. This is useful for examining a system where a parent process +repeatedly forks off short\-lived children to do work. +.TP +.BI \-\-sort \ spec +Specify sorting order. Sorting syntax is +.RI [ + | \- ]\c +.IR key [,[\c +.BR + | \- ]\c +.IR key [,...]]. +Choose a multi\-letter key from the +.B STANDARD FORMAT SPECIFIERS +section. The "+" is optional since default direction is increasing numerical +or lexicographic order. Identical to +.BR k . +For example: +.B ps jax \-\-sort=\:uid,\:\-ppid,\:+pid +.TP +.B \-\-signames +Show signal masks using abbreviated signal names and expands the collumn. +If the column width cannot show all signals, the column will end with a plus "\fI+\fR". +Columns with only a hyphen have no signals. +.TP +.B w +Wide output. Use this option twice for unlimited width. +.TP +.B \-w +Wide output. Use this option twice for unlimited width. +.TP +.BI \-\-width \ n +Set screen width. +.PD +.SH "THREAD DISPLAY" +.TP +.B H +Show threads as if they were processes. +.TP +.B \-L +Show threads, possibly with LWP and NLWP columns. +.TP +.B m +Show threads after processes. +.TP +.B \-m +Show threads after processes. +.TP +.B \-T +Show threads, possibly with SPID column. +.SH "OTHER INFORMATION" +.TP +.BI \-\-help \ section +Print a help message. The \fIsection\fR argument can be one of +.IR s imple, +.IR l ist, +.IR o utput, +.IR t hreads, +.IR m "isc, or" +.IR a ll. +The argument can be shortened to one of the underlined letters as in: +s\^|\^l\^|\^o\^|\^t\^|\^m\^|\^a. +.TP +.B \-\-info +Print debugging info. +.TP +.B L +List all format specifiers. +.TP +.B V +Print the procps-ng version. +.TP +.B \-V +Print the procps-ng version. +.TP +.B \-\-version +Print the procps-ng version. +.SH NOTES +This +.B ps +works by reading the virtual files in /proc. This +.B ps +does not need to be setuid kmem or have any privileges to run. Do not give +this +.B ps +any special permissions. +.PP +CPU usage is currently expressed as the percentage of time spent running +during the entire lifetime of a process. This is not ideal, and\ it does not +conform to the standards that +.B ps +otherwise conforms to. CPU usage is unlikely to add up to exactly 100%. +.PP +The SIZE and RSS fields don't count some parts of a process including the +page tables, kernel stack, struct thread_info, and struct task_struct. This +is usually at least 20\ KiB of memory that is always resident. SIZE is the +virtual size of the process (code+\:data+\:stack). +.PP +Processes marked <defunct> are dead processes (so\-called "zombies") that +remain because their parent has not destroyed them properly. These processes +will be destroyed by +.IR init (8) +if the parent process exits. +.PP +If the length of the username is greater than the width of the display +column, the username will be truncated. See the \fB\-o\fR and \fB\-O\fR +formatting options to customize length. +.PP +Commands options such as +.B ps \-aux +are not recommended as it is a confusion of two different standards. +According to the POSIX and UNIX standards, the above command asks to +display all processes with a TTY (generally the commands users are +running) plus all processes owned by a user named \fIx\fR. If that user +doesn't exist, then +.B ps +will assume you really meant +.RB """" ps +.IR aux """." +.SH "PROCESS FLAGS" +The sum of these values is displayed in the "F" column, +which is provided by the +.B flags +output specifier: +.PP +.RS 8 +.PD 0 +.TP 5 +1 +forked but didn't exec +.TP +4 +used super\-user privileges +.PD +.RE +.SH "PROCESS STATE CODES" +Here are the different values that the +.BR s ", " stat " and " state +output specifiers (header "STAT" or "S") will display to describe the state +of a process: +.PP +.RS 8 +.PD 0 +.TP 5 +D +uninterruptible sleep (usually IO) +.TP +I +Idle kernel thread +.TP +R +running or runnable (on run queue) +.TP +S +interruptible sleep (waiting for an event to complete) +.TP +T +stopped by job control signal +.TP +t +stopped by debugger during the tracing +.TP +W +paging (not valid since the 2.6.xx kernel) +.TP +X +dead (should never be seen) +.TP +Z +defunct ("zombie") process, terminated but not reaped by its parent +.PD +.RE +.PP +For BSD formats and when the +.B stat +keyword is used, additional characters may be displayed: +.PP +.RS 8 +.PD 0 +.TP 5 +< +high\-priority (not nice to other users) +.TP +N +low\-priority (nice to other users) +.TP +L +has pages locked into memory (for real\-time and custom IO) +.TP +s +is a session leader +.TP +l +is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) +.TP ++ +is in the foreground process group +.PD +.RE +.SH "OBSOLETE SORT KEYS" +These keys are used by the BSD +.B O +option (when it is used for sorting). The GNU +.B \-\-sort +option doesn't use these keys, but the specifiers described below in the +.B STANDARD FORMAT SPECIFIERS +section. Note that the values used in sorting are the internal values +.B ps +uses and not the "cooked" values used in some of the output format fields +(e.g. sorting on tty will sort into device number, not according to the +terminal name displayed). Pipe +.B ps +output into the +.BR sort (1) +command if you want to sort the cooked values. +.TS +l l lw(3i). +\fBKEY LONG DESCRIPTION\fR +c cmd simple name of executable +C pcpu cpu utilization +f flags flags as in long format F field +g pgrp process group ID +G tpgid controlling tty process group ID +j cutime cumulative user time +J cstime cumulative system time +k utime user time +m min_flt number of minor page faults +M maj_flt number of major page faults +n cmin_flt cumulative minor page faults +N cmaj_flt cumulative major page faults +o session session ID +p pid process ID +P ppid parent process ID +r rss resident set size +R resident resident pages +s size memory size in kilobytes +S share amount of shared pages +t tty the device number of the controlling tty +T start_time time process was started +U uid user ID number +u user user name +v vsize total VM size in KiB +y priority kernel scheduling priority +.\"K stime system time (conflict, system vs. start time) +.TE +.SH "AIX FORMAT DESCRIPTORS" +This +.B ps +supports AIX format descriptors, which work somewhat like the +formatting codes of +.IR printf (1) +and +.IR printf (3). +For example, the normal default output can be produced with this: +.B ps \-eo """%p %y %x %c""\fR." +The +.B NORMAL +codes are described in the next section. +.TS +l l l. +\fBCODE NORMAL HEADER\fR +%C pcpu %CPU +%G group GROUP +%P ppid PPID +%U user USER +%a args COMMAND +%c comm COMMAND +%g rgroup RGROUP +%n nice NI +%p pid PID +%r pgid PGID +%t etime ELAPSED +%u ruser RUSER +%x time TIME +%y tty TTY +%z vsz VSZ +.TE +.SH "STANDARD FORMAT SPECIFIERS" +Here are the different keywords that may be used to control the output +format (e.g., with option +.BR \-o ) +or to sort the selected processes with the GNU\-style +.B \-\-sort +option. +.PP +For example: +.B ps \-eo pid,\:user,\:args \-\-sort user +.PP +This version of +.B ps +tries to recognize most of the keywords used in other implementations of +.BR ps . +.PP +The following user\-defined format specifiers may contain +spaces: +.BR args ", " cmd ", " comm ", " command ", " fname ", " ucmd ", " ucomm , +.BR lstart ", " bsdstart ", " start . +.PP +Some keywords may not be available for sorting. + +.\" ####################################################################### +.\" lB1 lB1 lB1 lB1 s s s +.\" lB1 l1 l1 l1 s s s. +.\" +.\" lB1 lB1 lBw(5.5i) +.\" lB1 l1 l. +.\" +.TS +expand; +l1B l1B lBw(\n[ColSize]n) +l1B l1 l. +CODE HEADER DESCRIPTION + +%cpu %CPU T{ +cpu utilization of the process in "##.#" format. Currently, it is the CPU +time used divided by the time the process has been running (cputime/realtime +ratio), expressed as a percentage. It will not add up to 100% unless you are +lucky. (alias +.BR pcpu ). +T} + +%mem %MEM T{ +ratio of the process's resident set size to the physical memory on the +machine, expressed as a percentage. (alias +.BR pmem ). +T} + +ag_id AGID T{ +The autogroup identifier associated with a process which operates in conjunction +with the CFS scheduler to improve interactive desktop performance. +T} + +ag_nice AGNI T{ +The autogroup nice value which affects scheduling of all processes in that group. +T} + +args COMMAND T{ +command with all its arguments as a string. Modifications to the arguments +may be shown. The output in this column may contain spaces. A process +marked <defunct> is partly dead, waiting to be fully destroyed by its parent. +Sometimes the process args will be unavailable; when this happens, +.B ps +will instead print the executable name in brackets. (alias +.BR cmd ", " command ). +See also the +.B comm +format keyword, the +.B \-f +option, and the +.B c +option. +.br +When specified last, this column will extend to the edge of the display. If +.B ps +can not determine display width, as when output is redirected (piped) into a +file or another command, the output width is undefined (it may be 80, +unlimited, determined by the +.B TERM +variable, and so on). The +.B COLUMNS +environment variable or +.B \-\-cols +option may be used to exactly determine the width in this case. The +.B w +or +.B \-w +option may be also be used to adjust width. +T} + +blocked BLOCKED T{ +mask of the blocked signals, see +.IR signal (7). +According to the width of the field, a 32 or 64\-bit mask in hexadecimal +format is displayed, unless the \fB\-\-signames\fR option is used. (alias +.BR sig_block ", " sigmask ). +T} + +bsdstart START T{ +time the command started. If the process was started less than 24 hours ago, +the output format is "\ HH:MM", else it is " Mmm:SS" (where Mmm is the three +letters of the month). See also +.BR lstart , \ start , \ start_time ", and" \ stime . +T} + +bsdtime TIME T{ +accumulated cpu time, user + system. The display format is usually +"MMM:SS", but can be shifted to the right if the process used more than 999 +minutes of cpu time. +T} + +c C T{ +processor utilization. Currently, this is the integer value of the percent +usage over the lifetime of the process. (see +.BR %cpu ). +T} + +caught CAUGHT T{ +mask of the caught signals, see +.IR signal (7). +According to the width of the field, a 32 or 64 bits mask in hexadecimal +format is displayed, unless the \fB\-\-signames\fR option is used. (alias +.BR sig_catch ", " sigcatch ). +T} + +cgname CGNAME T{ +display name of control groups to which the process belongs. +T} + +cgroup CGROUP T{ +display control groups to which the process belongs. +T} + +cgroupns CGROUPNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +class CLS T{ +scheduling class of the process. (alias +.BR policy ", " cls ). +Field's possible values are: +.sp 1 +.in +9n +\- not reported +.br +TS SCHED_OTHER +.br +FF SCHED_FIFO +.br +RR SCHED_RR +.br +B SCHED_BATCH +.br +ISO SCHED_ISO +.br +IDL SCHED_IDLE +.br +DLN SCHED_DEADLINE +.br +? unknown value +.in +T} + +cls CLS T{ +scheduling class of the process. (alias +.BR policy ", " cls ). +Field's possible values are: +.sp 1 +.in +9n +\- not reported +.br +TS SCHED_OTHER +.br +FF SCHED_FIFO +.br +RR SCHED_RR +.br +B SCHED_BATCH +.br +ISO SCHED_ISO +.br +IDL SCHED_IDLE +.br +DLN SCHED_DEADLINE +.br +? unknown value +.in +T} + +cmd CMD T{ +see +.BR args . +(alias +.BR args ", " command ). +T} + +comm COMMAND T{ +command name (only the executable name). The output in this column may +contain spaces. +(alias +.BR ucmd ", " ucomm ). +See also the +.B args +format keyword, the +.B \-f +option, and the +.B c +option. +.br +When specified last, this column will extend to the edge of the display. If +.B ps +can not determine display width, as when output is redirected (piped) into a +file or another command, the output width is undefined (it may be 80, +unlimited, determined by the +.B TERM +variable, and so on). The +.B COLUMNS +environment variable or +.B \-\-cols +option may be used to exactly determine the width in this case. The +.BR w \ or \ \-w +option may be also be used to adjust width. +T} + +command COMMAND T{ +See +.BR args . +(alias +.BR args ", " command ). +T} + +cp CP T{ +per\-mill (tenths of a percent) CPU usage. (see +.BR %cpu ). +T} + +cputime TIME T{ +cumulative CPU time, "[DD\-]hh:mm:ss" format. (alias +.BR time ). +T} + +cputimes TIME T{ +cumulative CPU time in seconds (alias +.BR times ). +T} + +cuc %CUC T{ +The CPU utilization of a process, including dead children, in an extended "##.###" format. +(see also +.BR %cpu , +.BR c , +.BR cp , +.BR cuu , +.BR pcpu ). +T} + +cuu %CUU T{ +The CPU utilization of a process in an extended "##.###" format. +(see also +.BR %cpu , +.BR c , +.BR cp , +.BR cuc , +.BR pcpu ). +T} + +drs DRS T{ +data resident set size, the amount of private memory \fIreserved\fR by a process. +It is also known as DATA. Such memory may not yet be mapped to +.B rss +but will always be included +included in the +.B vsz +amount. + +T} + +egid EGID T{ +effective group ID number of the process as a decimal integer. (alias +.BR gid ). +T} + +egroup EGROUP T{ +effective group ID of the process. This will be the textual group ID, if it +can be obtained and the field width permits, or a decimal representation +otherwise. (alias +.BR group ). +T} + +eip EIP T{ +instruction pointer. As of kernel 4.9.xx will be zeroed out unless task is +exiting or being core dumped. +T} + +esp ESP T{ +stack pointer. As of kernel 4.9.xx will be zeroed out unless task is +exiting or being core dumped. +T} + +etime ELAPSED T{ +elapsed time since the process was started, in the form [[DD\-]hh:]mm:ss. +T} + +etimes ELAPSED T{ +elapsed time since the process was started, in seconds. +T} + +euid EUID T{ +effective user ID (alias +.BR uid ). +T} + +euser EUSER T{ +effective user name. This will be the textual user ID, if it can be obtained +and the field width permits, or a decimal representation otherwise. The +.B n +option can be used to force the decimal representation. (alias +.BR uname ", " user ). +T} + +exe EXE T{ +path to the executable. Useful if path cannot be printed via +.BR cmd ", " comm +or +.BR args +format options. +T} + +f F T{ +flags associated with the process, see the +.B PROCESS FLAGS +section. (alias +.BR flag ", " flags ). +T} + +fgid FGID T{ +filesystem access group\ ID. (alias +.BR fsgid ). +T} + +fgroup FGROUP T{ +filesystem access group ID. This will be the textual group ID, if it can +be obtained and the field width permits, or a decimal representation +otherwise. (alias +.BR fsgroup ). +T} + +flag F T{ +see +.BR f . +(alias +.BR f ", " flags ). +T} + +flags F T{ +see +.BR f . +(alias +.BR f ", " flag ). +T} + +fname COMMAND T{ +first 8 bytes of the base name of the process's executable file. The output +in this column may contain spaces. +T} + +fuid FUID T{ +filesystem access user ID. (alias +.BR fsuid ). +T} + +fuser FUSER T{ +filesystem access user ID. This will be the textual user ID, if it can be +obtained and the field width permits, or a decimal representation otherwise. +T} + +gid GID T{ +see +.BR egid . +(alias +.BR egid ). +T} + +group GROUP T{ +see +.BR egroup . +(alias +.BR egroup ). +T} + +ignored IGNORED T{ +mask of the ignored signals, see +.IR signal (7). +According to the width of the field, a 32 or 64 bits mask in hexadecimal +format is displayed, unless the \fB\-\-signames\fR option is used. (alias +.BR sig_ignore ", " sigignore ). +T} + +ipcns IPCNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +label LABEL T{ +security label, most commonly used for SELinux context data. This is for +the +.I Mandatory Access Control +("MAC") found on high\-security systems. +T} + +lstart STARTED T{ +time the command started. This will be in the form "DDD mmm HH:MM:SS YYY" +unless changed by the \fB\-D\fR option. +T} + +lsession SESSION T{ +displays the login session identifier of a process, +if systemd support has been included. +T} + +luid LUID T{ +displays Login ID associated with a process. +T} + +lwp LWP T{ +light weight process (thread) ID of the dispatchable entity (alias +.BR spid , \ tid ). +See +.B tid +for additional information. +T} + +lxc LXC T{ +The name of the lxc container within which a task is running. +If a process is not running inside a container, a dash ('\-') will be shown. +T} + +machine MACHINE T{ +displays the machine name for processes assigned to VM or container, +if systemd support has been included. +T} + +maj_flt MAJFLT T{ +The number of major page faults that have occurred with this process. +T} + +min_flt MINFLT T{ +The number of minor page faults that have occurred with this process. +T} + +mntns MNTNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +netns NETNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +ni NI T{ +nice value. This ranges from 19 (nicest) to \-20 (not nice to others), +see +.IR nice (1). +(alias +.BR nice ). +T} + +nice NI T{ +see +.BR ni . (alias +.BR ni ). +T} + +nlwp NLWP T{ +number of lwps (threads) in the process. (alias +.BR thcount ). +T} + +numa NUMA T{ +The node associated with the most recently used processor. +A \fI\-1\fR means that NUMA information is unavailable. +T} + +nwchan WCHAN T{ +address of the kernel function where the process is sleeping (use +.B wchan +if you want the kernel function name). +T} + +oom OOM T{ +Out of Memory Score. The value, ranging from 0 to +1000, used to select +task(s) to kill when memory is exhausted. +T} + +oomadj OOMADJ T{ +Out of Memory Adjustment Factor. The value is added to the current out of +memory score which is then used to determine which task to kill when memory +is exhausted. +T} + +ouid OWNER T{ +displays the Unix user identifier of the owner of the session of a process, +if systemd support has been included. +T} + +pcpu %CPU T{ +see +.BR %cpu . +(alias +.BR %cpu ). +T} + +pending PENDING T{ +mask of the pending signals. See +.IR signal (7). +Signals pending on the process are distinct from signals pending on +individual threads. Use the +.B m +option or the +.B \-m +option to see both. According to the width of the field, a 32 or 64 bits +mask in hexadecimal +format is displayed, unless the \fB\-\-signames\fR option is used. (alias +.BR sig ). +T} + +pgid PGID T{ +process group ID or, equivalently, the process ID of the process group +leader. (alias +.BR pgrp ). +T} + +pgrp PGRP T{ +see +.BR pgid . +(alias +.BR pgid ). +T} + +pid PID T{ +a number representing the process ID (alias +.BR tgid ). +T} + +pidns PIDNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +pmem %MEM T{ +see +.BR %mem . +(alias +.BR %mem ). +T} + +policy POL T{ +scheduling class of the process. (alias +.BR class ", " cls ). +Possible values are: +.sp 1 +.in +9n +\- not reported +.br +TS SCHED_OTHER +.br +FF SCHED_FIFO +.br +RR SCHED_RR +.br +B SCHED_BATCH +.br +ISO SCHED_ISO +.br +IDL SCHED_IDLE +.br +DLN SCHED_DEADLINE +.br +? unknown value +.in +T} + +ppid PPID T{ +parent process ID. +T} + +pri PRI T{ +priority of the process. Higher number means higher priority. +T} + +psr PSR T{ +processor that process last executed on. +T} + +pss PSS T{ +Proportional share size, the non-swapped physical memory, with shared memory +proportionally accounted to all tasks mapping it. +T} + +rbytes RBYTES T{ +Number of bytes which this process really did cause to be fetched from the storage layer. +T} + +rchars RCHARS T{ +Number of bytes which this task has caused to be read from storage. +T} + +rgid RGID T{ +real group ID. +T} + +rgroup RGROUP T{ +real group name. This will be the textual group ID, if it can be obtained +and the field width permits, or a decimal representation otherwise. +T} + +rops ROPS T{ +Number of read I/O operations—that is, system calls such as +.BR read "(2) and " pread (2). +T} + +rss RSS T{ +resident set size, the non\-swapped physical memory that a task has used (in +kilobytes). (alias +.BR rssize ", " rsz ). +T} + +rssize RSS T{ +see +.BR rss . +(alias +.BR rss ", " rsz ). +T} + +rsz RSZ T{ +see +.BR rss . +(alias +.BR rss ", " rssize ). +T} + +rtprio RTPRIO T{ +realtime priority. +T} + +ruid RUID T{ +real user ID. +T} + +ruser RUSER T{ +real user ID. This will be the textual user ID, if it can be obtained and +the field width permits, or a decimal representation otherwise. +T} + +s S T{ +minimal state display (one character). See section +.B PROCESS STATE CODES +for the different values. See also +.B stat +if you want additional information displayed. (alias +.BR state ). +T} + +sched SCH T{ +scheduling policy of the process. The policies SCHED_OTHER (SCHED_NORMAL), +SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, SCHED_IDLE and SCHED_DEADLINE are +respectively displayed as 0, 1, 2, 3, 4, 5 and 6. +T} + +seat SEAT T{ +displays the identifier associated with all hardware devices assigned +to a specific workplace, +if systemd support has been included. +T} + +sess SESS T{ +session ID or, equivalently, the process ID of the session leader. (alias +.BR session ", " sid ). +T} + +sgi_p P T{ +processor that the process is currently executing on. Displays "*" if the +process is not currently running or runnable. +T} + +sgid SGID T{ +saved group ID. (alias +.BR svgid ). +T} + +sgroup SGROUP T{ +saved group name. This will be the textual group ID, if it can be obtained +and the field width permits, or a decimal representation otherwise. +T} + +sid SID T{ +see +.BR sess . +(alias +.BR sess ", " session ). +T} + +sig PENDING T{ +see +.BR pending . +(alias +.BR pending ", " sig_pend ). +T} + +sigcatch CAUGHT T{ +see +.BR caught . +(alias +.BR caught ", " sig_catch ). +T} + +sigignore IGNORED T{ +see +.BR ignored . +(alias +.BR ignored ", " sig_ignore ). +T} + +sigmask BLOCKED T{ +see +.BR blocked . +(alias +.BR blocked ", " sig_block ). +T} + +size SIZE T{ +approximate amount of swap space that would be required if the process were +to dirty all writable pages and then be swapped out. This number is very +rough! +T} + +slice SLICE T{ +displays the slice unit which a process belongs to, +if systemd support has been included. +T} + +spid SPID T{ +see +.BR lwp . +(alias +.BR lwp ", " tid ). +T} + +stackp STACKP T{ +address of the bottom (start) of stack for the process. +T} + +start STARTED T{ +time the command started. If the process was started less than 24 hours ago, +the output format is "HH:MM:SS", else it is "\ \ Mmm\ dd" (where Mmm is a +three\-letter month name). See also +.BR bsdstart ", " start ", " start_time ", and " stime . +T} + +start_time START T{ +starting time or date of the process. Only the year will be displayed if the +process was not started the same year +.B ps +was invoked, or "MmmDD" if it was not started the same day, or "HH:MM" +otherwise. See also +.BR bsdstart ", " start ", " lstart ", and " stime . +T} + +stat STAT T{ +multi\-character process state. See section +.B PROCESS STATE CODES +for the different values meaning. See also +.BR s \ and \ state +if you just want the first character displayed. +T} + +state S T{ +see +.BR s ".\& (alias" \ s ). +T} + +stime STIME T{ +see \fBstart_time\fR. (alias \fBstart_time\fR). +T} + +suid SUID T{ +saved user ID. (alias +.BR svuid ). +T} + +supgid SUPGID T{ +group ids of supplementary groups, if any. See +.BR getgroups (2). +T} + +supgrp SUPGRP T{ +group names of supplementary groups, if any. See +.BR getgroups (2). +T} + +suser SUSER T{ +saved user name. This will be the textual user ID, if it can be obtained and +the field width permits, or a decimal representation otherwise. (alias +.BR svuser ). +T} + +svgid SVGID T{ +see +.BR sgid . +(alias +.BR sgid ). +T} + +svuid SVUID T{ +see +.BR suid . +(alias +.BR suid ). +T} + +sz SZ T{ +size in physical pages of the core image of the process. This includes text, +data, and stack space. Device mappings are currently excluded; this is +subject to change. See +.BR vsz \ and \ rss . +T} + +tgid TGID T{ +a number representing the thread group to which a task belongs (alias +.BR pid ). +It is the process ID of the thread group leader. +T} + +thcount THCNT T{ +see +.BR nlwp . +(alias +.BR nlwp ). +number of kernel threads owned by the process. +T} + +tid TID T{ +the unique number representing a dispatchable entity (alias +.BR spid ", " tid ). +This value may also appear as: a process ID (pid); a process group ID (pgrp); +a session ID for the session leader (sid); a thread group ID for the thread +group leader (tgid); and a tty process group ID for the process group leader +(tpgid). +T} + +time TIME T{ +cumulative CPU\ time, "[DD\-]HH:MM:SS" format. (alias +.BR cputime ). +T} + +timens TIMENS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +times TIME T{ +cumulative CPU\ time in seconds (alias +.BR cputimes ). +T} + +tname TTY T{ +controlling tty (terminal). (alias +.BR tt ", " tty ). +T} + +tpgid TPGID T{ +ID of the foreground process group on the tty (terminal) that the process is +connected to, or \-1 if the process is not connected to a tty. +T} + +trs TRS T{ +text resident set size, the amount of physical memory devoted to executable code. +T} + +tt TT T{ +controlling tty (terminal). (alias +.BR tname ", " tty ). +T} + +tty TT T{ +controlling tty (terminal). (alias +.BR tname ", " tt ). +T} + +ucmd CMD T{ +see +.BR comm . +(alias +.BR comm ", " ucomm ). +T} + +ucomm COMMAND T{ +see +.BR comm . +(alias +.BR comm ", " ucmd ). +T} + +uid UID T{ +see +.BR euid . +(alias +.BR euid ). +T} + +uname USER T{ +see +.BR euser . +(alias +.BR euser ", " user ). +T} + +unit UNIT T{ +displays unit which a process belongs to, +if systemd support has been included. +T} + +user USER T{ +see +.BR euser . +(alias +.BR euser ", " uname ). +T} + +userns USERNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +uss USS T{ +Unique set size, the non-swapped physical memory, which +is not shared with an another task. +T} + +utsns UTSNS T{ +Unique inode number describing the namespace the process belongs to. +See +.IR namespaces (7). +T} + +uunit UUNIT T{ +displays user unit which a process belongs to, +if systemd support has been included. +T} + +vsize VSZ T{ +see +.BR vsz . +(alias +.BR vsz ). +T} + +vsz VSZ T{ +virtual memory size of the process in KiB (1024\-byte units). Device +mappings are currently excluded; this is subject to change. (alias +.BR vsize ). +T} + +wbytes WBYTES T{ +Number of bytes which this process caused to be sent to the storage layer. +T} + +wcbytes WCBYTES T{ +Number of cancelled write bytes. +T} + +wchan WCHAN T{ +name of the kernel function in which the process is sleeping. +T} + +wchars WCHARS T{ +Number of bytes which this task has caused, or shall cause to be written to disk. +T} + +wops WOPS T{ +Number of write I/O operations—that is, system calls such as +.BR write "(2) and " pwrite (2). +T} + +.TE +.SH "ENVIRONMENT VARIABLES" +The following environment variables could affect +.BR ps : +.TP 3 +.B COLUMNS +Override default display width. +.TP +.B LINES +Override default display height. +.TP +.B PS_PERSONALITY +Set to one of posix, old, linux, bsd, sun, digital...\& (see section +.B PERSONALITY +below). +.TP +.B CMD_ENV +Set to one of posix, old, linux, bsd, sun, digital...\& (see section +.B PERSONALITY +below). +.TP +.B I_WANT_A_BROKEN_PS +Force obsolete command line interpretation. +.TP +.B LC_TIME +Date format. +.TP +.B LIBPROC_HIDE_KERNEL +Set this to any value to hide kernel threads normally displayed with the +.B -e +option. This is equivalent to selecting +.B --ppid 2 -p 2 --deselect +instead. Also works in BSD mode. +.TP +.B PS_COLORS +Not currently supported. +.TP +.B PS_FORMAT +Default output format override. You may set this to a format +string of the type used for the +.B \-o +option. +The +.B DefSysV +and +.B DefBSD +values are particularly useful. +.TP +.B POSIXLY_CORRECT +Don't find excuses to ignore bad "features". +.TP +.B POSIX2 +When set to "on", acts as +.BR POSIXLY_CORRECT . +.TP +.B UNIX95 +Don't find excuses to ignore bad "features". +.TP +.B _XPG +Cancel +.BR CMD_ENV =\c +.I irix +non\-standard behavior. +.PP +In general, it is a bad idea to set these variables. The one exception is +.B CMD_ENV +or +.BR PS_PERSONALITY , +which could be set to Linux for normal systems. Without that setting, +.B ps +follows the useless and bad parts of the Unix98 standard. +.SH "PERSONALITY" +.TS +l l. +390 like the OS/390 OpenEdition \fBps\fR +aix like AIX \fBps\fR +bsd like FreeBSD \fBps\fR (totally non\-standard) +compaq like Digital Unix \fBps\fR +debian like the old Debian \fBps\fR +digital like Tru64 (was Digital\ Unix, was OSF/1) \fBps\fR +gnu like the old Debian \fBps\fR +hp like HP\-UX \fBps\fR +hpux like HP\-UX \fBps\fR +irix like Irix \fBps\fR +linux ***** \fBrecommended\fR ***** +old like the original Linux \fBps\fR (totally non\-standard) +os390 like OS/390 Open Edition \fBps\fR +posix standard +s390 like OS/390 Open Edition \fBps\fR +sco like SCO \fBps\fR +sgi like Irix \fBps\fR +solaris2 like Solaris 2+ (SunOS 5) \fBps\fR +sunos4 like SunOS 4 (Solaris 1) \fBps\fR (totally non\-standard) +svr4 standard +sysv standard +tru64 like Tru64 (was Digital Unix, was OSF/1) \fBps\fR +unix standard +unix95 standard +unix98 standard +.TE +.SH BUGS +The fields \fBbsdstart\fR and \fBstart\fR will only show the abbreviated +month name in English. The fields \fBlstart\fR and \fBstime\fR will show +the abbreviated month name in the configured locale but may exceed the +column width due to the different lengths for abbreviated month and day +names across languages. +.PP +.SH "SEE ALSO" +.BR pgrep (1), +.BR pstree (1), +.BR top (1), +.BR strftime (3), +.BR proc (5). +.SH STANDARDS +This +.B ps +conforms to: +.PP +.PD 0 +.IP 1 4 +Version 2 of the Single Unix Specification +.IP 2 4 +The Open Group Technical Standard Base Specifications, Issue\ 6 +.IP 3 4 +IEEE Std 1003.1, 2004\ Edition +.IP 4 4 +X/Open System Interfaces Extension [UP\ XSI] +.IP 5 4 +ISO/IEC 9945:2003 +.PD +.SH AUTHOR +.B ps +was originally written by +.MT lankeste@\:fwi.\:uva.\:nl +Branko Lankester +.ME . +.MT johnsonm@\:redhat.\:com +Michael K. Johnson +.ME +re\-wrote it significantly to use the proc filesystem, changing a few things +in the process. +.MT mjshield@\:nyx.\:cs.\:du.\:edu +Michael Shields +.ME +added the pid\-list feature. +.MT cblake@\:bbn.\:com +Charles Blake +.ME +added multi\-level sorting, the dirent\-style library, the device +name\-to\-number mmaped database, the approximate binary search directly on +System.map, and many code and documentation cleanups. David Mossberger\-Tang +wrote the generic BFD support for psupdate. +.MT albert@\:users.\:sf.\:net +Albert Cahalan +.ME +rewrote ps for full Unix98 and BSD support, along with some ugly hacks for +obsolete and foreign syntax. +.PP +Please send bug reports to +.MT procps@\:freelists.\:org +.ME . +No subscription is required or suggested. |