Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PS(1)			     General Commands Manual			   PS(1)

NAME
     ps -- process status

SYNOPSIS
     ps [-aACcefhjlMmrSTuvwx] [-O fmt] [-o fmt] [-p pid] [-t tty] [-U username]
     ps [-L]

DESCRIPTION
     Ps  displays  a  header line followed by lines containing information about
     your processes that have controlling terminals.  This information is sorted
     by controlling terminal, then by process ID.

     The information displayed is selected based on a set of keywords  (see  the
     -L  -O  and  -o  options).   The  default	output format includes, for each
     process, the process' ID, controlling terminal, cpu  time	(including  both
     user and system time), state, and associated command.

     The  process file system (see procfs(5) ) should be mounted when ps is exe-
     cuted, otherwise not all information will be available.

     The options are as follows:

     -a      Display information about other users' processes as  well	as  your
	     own.

     -A      Display  information  about  other users' processes including those
	     without controlling terminals.

     -c      Change the ``command'' column output to just contain the executable
	     name, rather than the full command line.

     -C      Change the way the cpu percentage is calculated by using a  ``raw''
	     cpu  calculation  that ignores ``resident'' time (this normally has
	     no effect).

     -e      Display the environment as well.

     -h      Repeat the information header as often as	necessary  to  guarantee
	     one header per page of information.

     -j      Print  information  associated  with  the following keywords: user,
	     pid, ppid, pgid, sess, jobc, state, tt, time and command.

     -L      List the set of available keywords.

     -l      Display information associated with the  following  keywords:  uid,
	     pid,  ppid,  cpu,	pri,  nice, vsz, rss, wchan, state, tt, time and
	     command.

     -M      Print the threads corresponding to each task.

     -m      Sort by memory usage, instead of by process ID.

     -O      Add the information associated with the space  or	comma  separated
	     list  of  keywords  specified, after the process ID, in the default
	     information display.  Keywords  may  be  appended	with  an  equals
	     (``='')  sign  and a string.  This causes the printed header to use
	     the specified string instead of the standard header.

     -o      Display information associated with the space  or	comma  separated
	     list  of  keywords  specified.   Keywords	may  be appended with an
	     equals (``='') sign and a string.	This causes the  printed  header
	     to use the specified string instead of the standard header.

     -p      Display information associated with the specified process ID.

     -r      Sort by current cpu usage, instead of by process ID.

     -S      Change the way the process time is calculated by summing all exited
	     children to their parent process.

     -T      Display  information about processes attached to the device associ-
	     ated with the standard input.

     -t      Display information about processes attached to the specified  ter-
	     minal device.

     -U      Display the processes belonging to the specified username.

     -u      Display  information  associated with the following keywords: user,
	     pid, %cpu, %mem, vsz, rss, tt, state, start, time and command.  The
	     -u option implies the -r option.

     -v      Display information associated with the  following  keywords:  pid,
	     state,  time,  sl,  re, pagein, vsz, rss, lim, tsiz, %cpu, %mem and
	     command.  The -v option implies the -m option.

     -w      Use 132 columns to display  information,  instead	of  the  default
	     which is your window size.  If the -w option is specified more than
	     once,  ps	will use as many columns as necessary without regard for
	     your window size.

     -x      Display information about processes without controlling terminals.

     A complete list of the available keywords are listed below.  Some of  these
     keywords are further specified as follows:

     %cpu    The cpu utilization of the process; this is a decaying average over
	     up  to  a minute of previous (real) time.	Since the time base over
	     which this is computed varies (since processes may be  very  young)
	     it is possible for the sum of all %CPU fields to exceed 100%.

     %mem    The percentage of real memory used by this process.

     flags   The  flags  associated  with  the	process  as  in the include file
	     <sys/proc.h>:

	     P_ADVLOCK	    0x00001	   Process may	hold  a  POSIX	advisory
					   lock
	     P_CONTROLT     0x00002	   Has a controlling terminal
	     P_INMEM	    0x00004	   Loaded into memory
	     P_NOCLDSTOP    0x00008	   No SIGCHLD when children stop
	     P_PPWAIT	    0x00010	   Parent   is	 waiting  for  child  to
					   exec/exit
	     P_PROFIL	    0x00020	   Has started profiling
	     P_SELECT	    0x00040	   Selecting; wakeup/waiting danger
	     P_SINTR	    0x00080	   Sleep is interruptible
	     P_SUGID	    0x00100	   Had set id privileges since last exec
	     P_SYSTEM	    0x00200	   System proc: no sigs, stats or  swap-
					   ping
	     P_TIMEOUT	    0x00400	   Timing out during sleep
	     P_TRACED	    0x00800	   Debugged process being traced
	     P_WAITED	    0x01000	   Debugging   process	has  waited  for
					   child
	     P_WEXIT	    0x02000	   Working on exiting
	     P_EXEC	    0x04000	   Process called exec
	     P_NOSWAP	    0x08000	   Another flag to prevent swap out
	     P_PHYSIO	    0x10000	   Doing physical I/O
	     P_OWEUPC	    0x20000	   Owe process an addupc() call at  next
					   ast
	     P_SWAPPING     0x40000	   Process is being swapped

     lim     The  soft	limit  on  memory  used,  specified  via a call to setr-
	     limit(2).

     lstart  The exact time the command started, using	the  ``%c''  format  de-
	     scribed in strftime(3).

     nice    The process scheduling increment (see setpriority(2)).

     rss     the  real	memory	(resident set) size of the process (in 1024 byte
	     units).

     start   The time the command started.  If the command started less than  24
	     hours  ago, the start time is displayed using the ``%l:ps.1p'' for-
	     mat described in strftime(3).  If the command started less  than  7
	     days ago, the start time is displayed using the ``%a6.15p'' format.
	     Otherwise, the start time is displayed using the ``%e%b%y'' format.

     state   The  state  is given by a sequence of letters, for example, "RWNA".
	     The first letter indicates the run state of the process:

	     I	     Marks a process that is  idle  (sleeping  for  longer  than
		     about 20 seconds).
	     R	     Marks a runnable process.
	     S	     Marks  a  process	that  is sleeping for less than about 20
		     seconds.
	     T	     Marks a stopped process.
	     U	     Marks a process in uninterruptible wait.
	     Z	     Marks a dead process (a ``zombie'').

	     Additional characters after  these,  if  any,  indicate  additional
	     state information:

	     +	     The  process is in the foreground process group of its con-
		     trol terminal.
	     <	     The process has raised CPU scheduling priority.
	     >	     The process has specified a soft limit on	memory	require-
		     ments and is currently exceeding that limit; such a process
		     is (necessarily) not swapped.
	     A	     the process has asked for random page replacement (VA_ANOM,
		     from  vadvise(2),	for  example,  lisp(1) in a garbage col-
		     lect).
	     E	     The process is trying to exit.
	     L	     The process has pages locked in core (for example, for  raw
		     I/O).
	     N	     The  process  has reduced CPU scheduling priority (see set-
		     priority(2)).
	     S	     The process has asked for FIFO page  replacement  (VA_SEQL,
		     from vadvise(2), for example, a large image processing pro-
		     gram  using  virtual memory to sequentially address volumi-
		     nous data).
	     s	     The process is a session leader.
	     V	     The process is suspended during a vfork.
	     W	     The process is swapped out.
	     X	     The process is being traced or debugged.

     tt      An abbreviation for the pathname of the  controlling  terminal,  if
	     any.   The  abbreviation  consists  of  the three letters following
	     /dev/tty, or, for the console, ``con''.   This  is  followed  by  a
	     ``-''  if the process can no longer reach that controlling terminal
	     (i.e., it has been revoked).

     wchan   The event (an address in the system)  on  which  a  process  waits.
	     When  printed  numerically,  the  initial	part  of  the address is
	     trimmed off  and  the  result  is	printed  in  hex,  for	example,
	     0x80324000 prints as 324000.

     When  printing using the command keyword, a process that has exited and has
     a parent that has not yet waited for the process (in other words, a zombie)
     is listed as ``<defunct>'', and a process which is blocked while trying  to
     exit is listed as ``<exiting>''.  Ps makes an educated guess as to the file
     name  and	arguments given when the process was created by examining memory
     or the swap area.	The method is inherently somewhat unreliable and in  any
     event  a process is entitled to destroy this information, so the names can-
     not be depended on too much.  The ucomm (accounting) keyword can,	however,
     be depended on.

KEYWORDS
     The  following is a complete list of the available keywords and their mean-
     ings.  Several of them have aliases (keywords which are synonyms).

     %cpu	percentage cpu usage (alias pcpu)
     %mem	percentage memory usage (alias pmem)
     acflag	accounting flag (alias acflg)
     command	command and arguments
     cpu	short-term cpu usage factor (for scheduling)
     flags	the process flags, in hexadecimal (alias f)
     inblk	total blocks read (alias inblock)
     jobc	job control count
     ktrace	tracing flags
     ktracep	tracing vnode
     lim	memoryuse limit
     logname	login name of user who started the process
     lstart	time started
     majflt	total page faults
     minflt	total page reclaims
     msgrcv	total messages received (reads from pipes/sockets)
     msgsnd	total messages sent (writes on pipes/sockets)
     nice	nice value (alias ni)
     nivcsw	total involuntary context switches
     nsigs	total signals taken (alias nsignals)
     nswap	total swaps in/out
     nvcsw	total voluntary context switches
     nwchan	wait channel (as an address)
     oublk	total blocks written (alias oublock)
     p_ru	resource usage (valid only for zombie)
     paddr	swap address
     pagein	pageins (same as majflt)
     pgid	process group number
     pid	process ID
     poip	pageouts in progress
     ppid	parent process ID
     pri	scheduling priority
     re 	core residency time (in seconds; 127 = infinity)
     rgid	real group ID
     rlink	reverse link on run queue, or 0
     rss	resident set size
     rsz	resident set size + (text size / text use count) (alias rssize)
     rtprio	realtime priority (101 = not a realtime process)
     ruid	real user ID
     ruser	user name (from ruid)
     sess	session pointer
     sig	pending signals (alias pending)
     sigcatch	caught signals (alias caught)
     sigignore	ignored signals (alias ignored)
     sigmask	blocked signals (alias blocked)
     sl 	sleep time (in seconds; 127 = infinity)
     start	time started
     state	symbolic process state (alias stat)
     svgid	saved gid from a setgid executable
     svuid	saved uid from a setuid executable
     tdev	control terminal device number
     time	accumulated cpu time, user + system (alias cputime)
     tpgid	control terminal process group ID
     tsess	control terminal session pointer
     tsiz	text size (in Kbytes)
     tt 	control terminal name (two letter abbreviation)
     tty	full name of control terminal
     uprocp	process pointer
     ucomm	name to be used for accounting
     uid	effective user ID
     upr	scheduling priority on return from system call (alias usrpri)
     user	user name (from uid)
     vsz	virtual size in Kbytes (alias vsize)
     wchan	wait channel (as a symbolic name)
     xstat	exit or stop status (valid only for stopped or zombie process)

FILES
     /dev		    special files and device names
     /var/run/dev.db	    /dev name database
     /var/db/kvm_kernel.db  system namelist database
     /proc		    the mount point of procfs(5)

SEE ALSO
     kill(1), w(1), kvm(3), strftime(3), procfs(5), pstat(8)

BUGS
     Since ps cannot run faster than the system and is run as any  other  sched-
     uled process, the information it displays can never be exact.

4th Berkeley Distribution	 April 18, 1994 			   PS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ps&sektion=1&manpath=Darwin+8.0.1%2fppc>

home | help