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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PS(1)			FreeBSD	General	Commands Manual			 PS(1)

NAME
     ps	-- process status

SYNOPSIS
     ps	[-aCcefhjlmrSTuvwXx] [-G gid[,gid...]] [-M core] [-N system] [-O fmt]
	[-o fmt] [-p pid[,pid...]] [-t tty[,tty...]] [-U
	username[,username...]]
     ps	[-L]

DESCRIPTION
     The ps utility displays a header line, followed by	lines containing
     information about all of your processes that have controlling terminals.

     A different set of	processes can be selected for display by using any
     combination of the	-a, -G,	-p, -T,	-t and -U options.  If more than one
     of	these options are given, then ps will select all processes which are
     matched by	at least one of	the given options.

     For the processes which have been selected	for display, ps	will display
     one line per process.  By default all of these output lines are sorted
     first by controlling terminal, then by process ID.	 The -m, -r, -u, and
     -v	options	will change the	sort order.  If	more than one sorting option
     was given,	then the selected processes will be sorted by the last sorting
     option which was specified.

     For the processes which have been selected	for display, the information
     to	display	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 sys-
     tem 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.  This	will skip any processes	which do not have a control-
	     ling teminal, unless the -x option	is also	specified.  This can
	     be	disabled by setting the	kern.ps_showallprocs sysctl to zero.

     -c	     Change the	``command'' column output to just contain the exe-
	     cutable 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 nor-
	     mally has no effect).

     -e	     Display the environment as	well.

     -f	     Show commandline and environment information about	swapped	out
	     processes.	 This option is	honored	only if	the uid	of the user is
	     0.

     -G	     Display information about processes which are running with	the
	     specified real group ID(s).

     -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 keywords available	for the	-O and -o options.

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

     -M	     Extract values associated with the	name list from the specified
	     core instead of the currently running system.

     -m	     Sort by memory usage, instead of the combination of controlling
	     terminal and process ID.

     -N	     Extract the name list from	the specified system instead of	the
	     default /kernel.

     -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.  Multiple keywords may	also be	given
	     in	the form of more than one -o option.  Keywords may be appended
	     with an equals (``='') sign and a string.	This causes the
	     printed header to use the specified string	instead	of the stan-
	     dard header.

     -p	     Display information about processes which match the specified
	     process ID(s).

     -r	     Sort by current cpu usage,	instead	of the combination of control-
	     ling terminal and 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	asso-
	     ciated with the standard input.

     -t	     Display information about processes attached to the specified
	     terminal device(s).

     -U	     Display the processes belonging to	the specified username(s).

     -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	     When displaying processes matched by other	options, skip any pro-
	     cesses which do not have a	controlling terminal.

     -x	     When displaying processes matched by other	options, include pro-
	     cesses which do not have a	controlling terminal.  This is the
	     opposite of the -X	option.	 If both -X and	-x are specified in
	     the same command, then ps will use	the one	which was specified
	     last.

     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_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
					   swapping
	     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_OWEUPC	    0x20000	   Owe process an addupc() call	at
					   next	ast
	     P_SWAPPING	    0x40000	   Process is being swapped
	     P_SWAPINREQ    0x80000	   Swapin request due to wakeup
	     P_KTHREADP	    0x200000	   Process is really a kernel thread
	     P_DEADLKTREAT  0x800000	   Lock	acquisition - deadlock
					   treatment
	     P_JAILED	    0x1000000	   Process is in jail
	     P_OLDMASK	    0x2000000	   Need	to restore mask	before pause
	     P_ALTSTACK	    0x4000000	   Have	alternate signal stack
	     P_INEXEC	    0x8000000	   Process is in execve()

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

     lstart  The exact time the	command	started, using the ``%c'' format
	     described 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''
	     format 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 characters, for example,
	     ``RWNA''.	The first character indicates the run state of the
	     process:

	     D	     Marks a process in	disk (or other short term, uninter-
		     ruptible) wait.
	     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.
	     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
		     control terminal.
	     <	     The process has raised CPU	scheduling priority.
	     E	     The process is trying to exit.
	     J	     Marks a process which is in jail(2).  The hostname	of the
		     prison can	be found in `/proc/<pid>/status'.
	     L	     The process has pages locked in core (for example,	for
		     raw I/O).
	     N	     The process has reduced CPU scheduling priority (see
		     setpriority(2)).
	     s	     The process is a session leader.
	     V	     The process is suspended during a vfork(2).
	     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 termi-
	     nal (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>''.	 The ps	utility	makes an edu-
     cated 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 cannot 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
     meanings.	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/kmem		    default kernel memory
     /var/run/dev.db	    /dev name database
     /var/db/kvm_kernel.db  system namelist database
     /kernel		    default system namelist
     /proc		    the	mount point of procfs(5)

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

STANDARDS
     For historical reasons, ps	utility	under FreeBSD supports a different set
     of	options	from what is described by IEEE Std 1003.2 (``POSIX.2''), and
     what is supported on non-BSD operating systems.

HISTORY
     The ps command appeared in	Version	4 AT&T UNIX.

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.

     The ps utility does not correctly display argument	lists containing
     multibyte characters.

FreeBSD	10.1			March 27, 2004			  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | FILES | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=ps&sektion=1&manpath=FreeBSD+4.11-RELEASE>

home | help