Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for ps (redhat section 1)

PS(1)				       Linux User's Manual				    PS(1)


       ps - report process status

       ps [options]

       ps gives a snapshot of the current processes. If you want a repetitive update of this sta-
       tus, use top. This man page documents the /proc-based version of ps, or tries to.

       This version of ps accepts several kinds of options.
	      Unix98 options may be grouped and must be preceeded by a dash.
	      BSD options may be grouped and must not be used with a dash.
	      GNU long options are preceeded by two dashes.
       Options of different types may be freely mixed.

       Set the I_WANT_A_BROKEN_PS environment variable to force BSD syntax even when options  are
       preceeded  by  a  dash. The PS_PERSONALITY environment variable (described below) provides
       more detailed control of ps behavior.

       Switch	    Description

       ()											      ()

       -A	    select all processes
       -N	    negate selection
       -a	    select all with a tty except session leaders
       -d	    select all, but omit session leaders
       -e	    select all processes
       T	    select all processes on this terminal
       a	    select all processes on a terminal,  includ-
		    ing those of other users
       g	    really all, even group leaders (does nothing
		    w/o SunOS settings)
       r	    restrict output to running processes
       x	    select processes without controlling ttys
       --deselect   negate selection

       Switch	 Description

       ()											      ()

       -C	 select by command name
       -G	 select by RGID (supports names)

       -U	 select by RUID (supports names)
       -g	 select by session leader OR by group name
       -p	 select by PID
       -s	 select processes belonging to the sessions given
       -t	 select by tty
       -u	 select by effective user ID (supports names)
       U	 select processes for specified users
       p	 select by process ID
       t	 select by tty
       --Group	 select by real group name or ID
       --User	 select by real user name or ID
       --group	 select by effective group name or ID
       --pid	 select by process ID
       --sid	 select by session ID
       --tty	 select by terminal
       --user	 select by effective user name or ID
       -123	 implied --sid
       123	 implied --pid

       Switch	  Description

       ()											      ()

       -O	  is preloaded "-o"
       -c	  different scheduler info for -l option
       -f	  does full listing
       -j	  jobs format
       -l	  long format
       -o	  user-defined format
       -y	  do not show flags; show rss in place of addr
       O	  is preloaded "o" (overloaded)
       X	  old Linux i386 register format
       j	  job control format
       l	  display long format
       o	  specify user-defined format
       s	  display signal format
       u	  display user-oriented format
       v	  display virtual memory format
       --format   user-defined format

       Switch	      Description

       ()											      ()

       -H	      show process hierarchy (forest)
       -m	      show all threads
       -n	      set namelist file
       -w	      wide output
       C	      use raw CPU time for %CPU instead of decaying average
       N	      specify namelist file
       O	      sorting order (overloaded)
       S	      include some dead child process data (as a  sum  with
		      the parent)

       c	      true command name
       e	      show environment after the command
       f	      ASCII-art process hierarchy (forest)
       h	      do not print header lines (repeat header lines in BSD
       m	      all threads
       n	      numeric output for WCHAN and USER
       w	      wide output
       --cols	      set screen width
       --columns      set screen width
       --cumulative   include some dead child process data (as a  sum  with
		      the parent)
       --forest       ASCII art process tree
       --html	      HTML escaped output
       --headers      repeat header lines
       --no-headers   print no header line at all
       --lines	      set screen height
       --nul	      unjustified output with NULs
       --null	      unjustified output with NULs
       --rows	      set screen height
       --sort	      specify sorting order
       --width	      set screen width
       --zero	      unjustified output with NULs

       Switch	   Description

       ()											      ()

       -V	   print version
       L	   list all format specifiers
       V	   show version info
       --help	   print help message
       --info	   print debugging info
       --version   print version

       Switch	Description

       ()											      ()

       A	increase the argument space (DecUnix)
       M	use alternate core (try -n or N instead)
       W	get swap info from ... not /dev/drum (try -n or N instead)
       k	use /vmcore as c-dumpfile (try -n or N instead)

       The  "-g"  option  can  select  by  session leader OR by group name.  Selection by session
       leader is specified by many standards, but selection by group is the logical behavior that
       several	other  operating systems use. This ps will select by session leader when the list
       is completely numeric (as sessions are). Group ID numbers will work only when  some  group
       names are also specified.

       The  "m"  option  should  not be used. Use "-m" or "-o" with a list.  ("m" displays memory
       info, shows threads, or sorts by memory use)

       The "h" option is problematic.  Standard BSD ps uses the option to print a header on  each
       page  of  output,  but older Linux ps uses the option to totally disable the header.  This
       version of ps follows the Linux usage of not printing the header unless the BSD	personal-
       ity  has  been selected, in which case it prints a header on each page of output.  Regard-
       less of the current personality, you can use the long options --headers	and  --no-headers
       to enable printing headers each page and disable headers entirely, respectively.

       Terminals (ttys, or screens of text output) can be specified in several forms: /dev/ttyS1,
       ttyS1, S1. Obsolete "ps t" (your own terminal) and "ps t?" (processes without a	terminal)
       syntax  is  supported, but modern options ("T", "-t" with list, "x", "t" with list) should
       be used instead.

       The BSD "O" option can act like "-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,  specify  the
       other option (sorting or formatting) in some other way.

       For  sorting, BSD "O" option syntax is O[+|-]k1[,[+|-]k2[,...]]	Order the process listing
       according to the multilevel sort specified by the sequence of short keys from  SORT  KEYS,
       k1, k2, ... The `+' is quite optional, merely re-iterating the default direction on a key.
       `-' reverses direction only on the key it precedes. The O option must be the  last  option
       in a single command argument, but specifications in successive arguments are catenated.

       GNU sorting syntax is --sortX[+|-]key[,[+|-]key[,...]]  Choose a multi-letter key from the
       SORT KEYS section. X may be any convenient separator character. To be GNU-ish use `='. The
       `+'  is	really	optional since default direction is increasing numerical or lexicographic
       order. For example, ps jax --sort=uid,-ppid,+pid

       This ps works by reading the virtual files in /proc. This ps does not need to be suid kmem
       or have any privileges to run. Do not give this ps any special permissions.

       This  ps needs access to a namelist file for proper WCHAN display.  The namelist file must
       match the current Linux kernel exactly for correct output.

       To produce the WCHAN field, ps needs to read the System.map file created when  the  kernel
       is compiled. The search path is:
	      /boot/System.map-`uname -r`
	      /lib/modules/`uname -r`/System.map
       The  member  used_math  of task_struct is not shown, since crt0.s checks to see if math is
       present. This causes the math flag to be set for all processes, and so  it  is  worthless.
       (Somebody fix libc or the kernel please.)

       Programs  swapped out to disk will be shown without command line arguments, and unless the
       c option is given, in brackets.

       %CPU shows the cputime/realtime percentage. It will not add up  to  100%  unless  you  are
       lucky. It is time used divided by the time the process has been running.

       The SIZE and RSS fields don't count the page tables and the task_struct of a proc; this is
       at least 12k of memory that is always resident. SIZE is	the  virtual  size  of	the  proc

       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 init(8)
       if the parent process exits.

       FORKNOEXEC   1	forked but didn't exec
       SUPERPRIV    2	used super-user privileges

       DUMPCORE     4	dumped core

       D   uninterruptible sleep (usually IO)
       R   runnable (on run queue)
       S   sleeping
       T   traced or stopped
       Z   a defunct ("zombie") process

       For BSD formats and when the "stat" keyword is used, additional letters may be displayed:

       W   has no resident pages
       <   high-priority process
       N   low-priority task
       L   has pages locked into memory (for real-time and custom IO)

       Note  that the values used in sorting are the internal values ps uses and not the `cooked'
       values used in some of the output format fields. Pipe ps output into the  sort(1)  command
       if you want to sort the cooked values.


       ()											      ()

       c     cmd	  simple name of executable
       C     cmdline	  full command line
       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
       K     stime	  system 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 minor device number of tty
       T     start_time   time process was started
       U     uid	  user ID number
       u     user	  user name
       v     vsize	  total VM size in bytes
       y     priority	  kernel scheduling priority

       This  ps supports AIX format descriptors, which work somewhat like the formatting codes of
       printf(1) and printf(3). For example, the normal default output can be produced with this:
       ps -eo "%p %y %x %c"


       ()											      ()

       %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

       These may be used to control both output format and sorting.
       For example:  ps -eo pid,user,args --sort user

       CODE	     HEADER

       ()											      ()

       %cpu	     %CPU
       %mem	     %MEM
       alarm	     ALARM
       args	     COMMAND
       blocked	     BLOCKED
       bsdstart      START
       bsdtime	     TIME
       c	     C
       caught	     CAUGHT
       cp	     CP
       cpu	     CPU
       cmd	     CMD
       comm	     COMMAND
       command	     COMMAND
       cputime	     TIME
       drs	     DRS
       dsiz	     DSIZ
       egid	     EGID
       egroup	     EGROUP
       eip	     EIP
       esp	     ESP
       etime	     ELAPSED
       euid	     EUID
       euser	     EUSER
       f	     F
       fgid	     FGID
       fgroup	     FGROUP

       flag	     F
       flags	     F
       fname	     COMMAND
       fsgid	     FSGID
       fsgroup	     FSGROUP
       fsuid	     FSUID
       fsuser	     FSUSER
       fuid	     FUID
       fuser	     FUSER
       gid	     GID
       group	     GROUP
       ignored	     IGNORED
       intpri	     PRI
       lim	     LIM
       longtname     TTY
       lstart	     STARTED
       m_drs	     DRS
       m_trs	     TRS
       maj_flt	     MAJFL
       majflt	     MAJFLT
       min_flt	     MINFL
       minflt	     MINFLT
       ni	     NI
       nice	     NI
       nwchan	     WCHAN
       opri	     PRI
       pagein	     PAGEIN
       pcpu	     %CPU
       pending	     PENDING
       pgid	     PGID
       pgrp	     PGRP
       pid	     PID
       pmem	     %MEM
       policy	     POL
       ppid	     PPID
       pri	     PRI
       rgid	     RGID
       rgroup	     RGROUP
       rss	     RSS
       rssize	     RSS
       rsz	     RSZ
       rtprio	     RTPRIO
       ruid	     RUID
       ruser	     RUSER
       s	     S
       sess	     SESS
       session	     SESS
       sgi_p	     P
       sgi_rss	     RSS
       sgid	     SGID
       sgroup	     SGROUP
       sid	     SID
       sig	     PENDING
       sig_block     BLOCKED
       sig_catch     CATCHED
       sig_ignore    IGNORED
       sig_pend      SIGNAL
       sigcatch      CAUGHT
       sigignore     IGNORED
       sigmask	     BLOCKED
       stackp	     STACKP
       start	     STARTED
       start_stack   STACKP
       start_time    START
       stat	     STAT

       state	     S
       stime	     STIME
       suid	     SUID
       suser	     SUSER
       svgid	     SVGID
       svgroup	     SVGROUP
       svuid	     SVUID
       svuser	     SVUSER
       sz	     SZ
       time	     TIME
       timeout	     TMOUT
       tmout	     TMOUT
       tname	     TTY
       tpgid	     TPGID
       trs	     TRS
       trss	     TRSS
       tsiz	     TSIZ
       tt	     TT
       tty	     TT
       tty4	     TTY
       tty8	     TTY
       ucomm	     COMMAND
       uid	     UID
       uid_hack      UID
       uname	     USER
       user	     USER
       vsize	     VSZ
       vsz	     VSZ
       wchan	     WCHAN

       The following environment variables could affect ps:

       COLUMNS		    Override default display width
       LINES		    Override default display height
       PS_PERSONALITY	    Set to one of posix,old,linux,bsd,sun,digital
       CMD_ENV		    Set to one of posix,old,linux,bsd,sun,digital
       I_WANT_A_BROKEN_PS   Force obsolete command line interpretation
       LC_TIME		    Date format
       PS_FORMAT	    Default output format override
       PS_SYSMAP	    Default namelist (System.map) location
       PS_SYSTEM_MAP	    Default namelist (System.map) location
       POSIXLY_CORRECT	    Don't find excuses to ignore bad "features"
       UNIX95		    Don't find excuses to ignore bad "features"
       _XPG		    Cancel CMD_ENV=irix non-standard behavior

       In  general,  it  is a bad idea to set these variables. The two exceptions are CMD_ENV (or
       PS_PERSONALITY), to set the desired default personality, and POSIXLY_CORRECT (or  UNIX95),
       which should be set for Unix98 standard compliance.

       PS_PERSONALITY	Description

       ()											      ()

       none		"Do the right thing"
       aix		like AIX ps
       bsd		like FreeBSD ps
       compaq		like Digital Unix ps
       debian		like the old Debian ps

       digital		like Digital Unix ps
       gnu		like the old Debian ps
       hp		like HP-UX ps
       hpux		like HP-UX ps
       irix		like Irix ps
       linux		deviate from Unix98 for convenience only
       old		like the original Linux ps
       posix		standard
       sco		like SCO ps
       sgi		like Irix ps
       sun		like SunOS 4 ps
       sunos		like SunOS 4 ps
       sysv		standard
       unix		standard
       unix95		standard
       unix98		standard

       To see every process on the system using standard syntax:
	      ps -e
       To see every process on the system using BSD syntax:
	      ps ax
       To see every process except those running as root (real & effective ID)
	      ps -U root -u root -N
       To see every process with a user-defined format:
	      ps -eo pid,tt,user,fname,tmout,f,wchan
       Odd display with AIX field descriptors:
	      ps -o "%u : %U : %p : %a"
       Print only the process IDs of syslogd:
	      ps -C syslogd -o pid=

       top(1) pstree(1) proc(5)

       This ps can be set to conform to version 2 of the Single Unix Specification.

       ps was originally written by Branko Lankester <lankeste@fwi.uva.nl>.
       Michael	K.  Johnson  <johnsonm@redhat.com>  re-wrote  it  significantly  to  use the proc
       filesystem, changing a few things in the process.
       Michael Shields <shields@msrl.com> added the pid-list feature.
       Charles Blake <cblake@bbn.com> added multi-level sorting, the  dirent-style  library,  the
       device  name-to-number  mmaped  database,  the  approximate binary search directly on Sys-
       tem.map, and many code and documentation cleanups.
       David Mosberger-Tang wrote the generic BFD support for psupdate.
       Albert Cahalan <acahalan@cs.uml.edu> rewrote ps for full Unix98	and  BSD  support,  along
       with some ugly hacks for obsolete and foreign syntax.

       Michael K. Johnson <johnsonm@redhat.com> is the current maintainer.

       Please send bug reports to <procps-list@redhat.com>


All times are GMT -4. The time now is 11:25 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password