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

FreeBSD Manual Pages


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

       ps - display the	status of current processes

       ps [ [-]acCegjklnrSuUvwx	][ -tx ]|[ num ]
	    [ kernel-name ] [ c-dump-file ] [ swap-file	]

       ps  displays  information  about	 processes.  Normally, only those pro-
       cesses that are running with your effective user	ID and are attached to
       a  controlling  terminal	 (see  termio(4)) are shown.  Additional cate-
       gories of processes can be added	to the display using various  options.
       In  particular,	the -a option allows you to include processes that are
       not owned by you	(that do not have your user ID), and the -x option al-
       lows  you  to  include  processes  without control terminals.  When you
       specify both -a and -x, you get processes  owned	 by  anyone,  with  or
       without	a  control terminal.  The -r option restricts the list of pro-
       cesses printed to "running" processes:  runnable	 processes,  those  in
       page wait, or those in short-term non-interruptible waits.

       ps  displays  the process ID, under PID;	the control terminal (if any),
       under TT; the cpu time used by the process so far, including both  user
       and system time), under TIME; the state of the process, under STAT; and
       finally,	an indication of the COMMAND that is running.

       The state is given by a sequence	of four	letters, for example, `RWNA'.

       First letter   indicates	the runnability	of the process:
		      R	      Runnable processes.
		      T	      Stopped processes.
		      P	      Processes	in page	wait.
		      D	      Processes	in non-interruptible waits;  typically
			      short-term waits for disk	or NFS I/O.
		      S	      Processes	 sleeping  for less than about 20 sec-
		      I	      Processes	that are idle  (sleeping  longer  than
			      about 20 seconds).
		      Z	      Processes	 that  have  terminated	 and  that are
			      waiting  for  their  parent  process  to	do   a
			      wait(2V) ("zombie" processes).

       Second letter  indicates	whether	a process is swapped out;
		      blank   Represented  as a	SPACE character, in this posi-
			      tion indicates that the process  is  loaded  (in
		      W	      Process is swapped out.
		      >	      Process has specified a soft limit on memory re-
			      quirements and has exceeded that limit;  such  a
			      process is (necessarily) not swapped.

       Third letter   indicates	 whether a process is running with altered CPU
		      scheduling priority (nice(1)):
		      blank   Represented as a SPACE character,	in this	 posi-
			      tion indicates that the process is running with-
			      out special treatment.
		      N	      The process priority is reduced,
		      <	      The process priority  has	 been  raised  artifi-

       Fourth letter  indicates	 any special treatment of the process for vir-
		      tual memory replacement.	The letters correspond to  op-
		      tions to the vadvise(2) system call.  Currently the pos-
		      sibilities are:
		      blank   Represented as a SPACE character,	in this	 posi-
			      tion stands for VA_NORM.
		      A	      Stands for VA_ANOM.  An A	typically represents a
			      program which is doing garbage collection.
		      S	      Stands for VA_SEQL.  An S	is  typical  of	 large
			      image processing programs	that are using virtual
			      memory to	sequentially address voluminous	data.

       kernel-name specifies the location of the system	namelist.  If  the  -k
       option  is given, c-dump-file tells ps where to look for	the core dump.
       Otherwise, the core dump	is located in the file /vmcore and this	 argu-
       ment  is	 ignored.   swap-file  gives the location of a swap file other
       than the	default, /dev/drum.

       Options must all	be combined to form the	first argument.

       -a   Include information	about processes	owned by others.

       -c   Display the	command	name, as stored	internally in the  system  for
	    accounting	purposes, rather than the command arguments, which are
	    kept in the	process	address	space.	This is	more reliable, if less
	    informative, as the	process	is free	to destroy the latter informa-

       -C   Display raw	CPU time instead of the	decaying average in  the  %CPU

       -e   Display the	environment as well as the arguments to	the command.

       -g   Display  all  processes.  Without this option, ps prints only "in-
	    teresting" processes.  Processes are deemed	to be uninteresting if
	    they  are  process	group  leaders.	 This normally eliminates top-
	    level command interpreters and processes waiting for users to  lo-
	    gin	on free	terminals.

       -j   Display  a listing useful for job control information, with	fields
	    described below.

	    With this option, the STAT field has three additional letters:

	    C	   indicates  the  process  does not want SIGCHLD when a child
		   changes state done to job control.

	    E	   The process has completed an	exec, and the  parent  can  no
		   longer change the process group of this process.

	    O	   The	process	is an orphan, with no parent process to	handle
		   job control signals.

       -k   Normally, kernel-name defaults to /vmunix, c-dump-file is ignored,
	    and	 swap-file  defaults  to /dev/drum.  With the -k option	in ef-
	    fect, these	arguments default to /vmunix, /vmcore, and  /dev/drum,

       -l   Display a long listing, with fields	F, PPID, CP, PRI, NI, SZ, RSS,
	    and	WCHAN, as described below.

       -n   Produce numeric output for some fields.  In	a  long	 listing,  the
	    WCHAN  field  is printed numerically rather	than symbolically, or,
	    in a user listing, the USER	field is replaced by a UID field.

       -r   Restrict output to "running" processes.

       -S   Display accumulated	CPU time used by this process and all  of  its
	    reaped children.

       -u   Display  user-oriented  output.   This includes fields USER, %CPU,
	    %MEM, SZ, RSS and START as described below.

       -U   Update a private database where ps keeps system information.   In-
	    clude `ps -U' in the /etc/rc file.

       -v   Display a version of the output describing virtual memory informa-
	    tion.  This	includes fields	RE, SL,	PAGEIN,	SIZE, RSS,  LIM,  %CPU
	    and	%MEM, described	below.

       -w   Use	 a  wide  output  format  (132 columns rather than 80);	if re-
	    peated, that is, -ww, use arbitrarily wide output.	This  informa-
	    tion is used to decide how much of long commands to	print.

       -x   Include processes with no controlling terminal.

       The  following  two  options  are  mutually exclusive.  When specified,
       these options must appear immediately following the last	option.

       -tx    Restrict output to processes whose  controlling  terminal	 is  x
	      (which should be specified as printed by ps; for example,	t3 for
	      /dev/tty3, tco for /dev/console, td0  for	 /dev/ttyd0,  t?   for
	      processes	 with no terminal, etc).  This option must be the last
	      one given.

       num    A	process	number may be given, in	which case the output  is  re-
	      stricted	to  that  process.  This option	must also be last, and
	      must appear with no white	space between it and the previous  op-

       Fields that are not common to all output	formats:
       USER	   Name	of the owner of	the process.
       %CPU	   CPU	use of the process; this is a decaying average over up
		   to a	minute of previous (real) time.	 Because 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%.
       NI	   Process   scheduling	  increment  (see  getpriority(2)  and
       SZ	   The combined	size of	the data and stack segments (in	 kilo-

       RSS	   Real	 memory	 (resident  set) size of the process (in kilo-

       LIM	   Soft	limit on memory	used, specified	using a	call to	 getr-
		   limit(2);  if no limit has been specified, this is shown as

       %MEM	   Percentage of real memory used by this process.

       RE	   Residency time of the process (seconds in core).

       SL	   Sleep time of the process (seconds blocked).

       PAGEIN	   Number of  disk  I/Os  resulting  from  references  by  the
		   process to pages not	loaded in core.

       UID	   Numeric user-ID of process owner.

       PPID	   Numeric ID of parent	of process.

       SID	   Numeric ID of the session to	which the process belongs. SID
		   = PGID = PID	indicates a session leader.

       PGID	   Numeric ID of the process group of the process.

       TPGID	   Numeric ID of the process group associated with the	termi-
		   nal	specified  under  TT (distinguished process group, see

       CP	   Short-term CPU utilization factor (used in scheduling).

       PRI	   Process priority (non-positive  when	 in  non-interruptible

       START	   Time	 the  process was created if today, or the date	it was
		   created if before today.

       WCHAN	   Event on which process is waiting (an address in  the  sys-
		   tem).   A symbol is chosen that classifies the address, un-
		   less	numeric	output is requested (see the n flag).  In this
		   case, the address is	printed	in hexadecimal.

       F	   Flags (in hex) associated with process as in	<sys/proc.h>:

		   SLOAD	00000001   in core
		   SSYS		00000002   swapper or pager process
		   SLOCK	00000004   process being swapped out
		   SSWAP	00000008   save	area flag
		   STRC		00000010   process is being traced
		   SWTED	00000020   parent has been told	that
					   this	process	stopped
		   SULOCK	00000040   user	can set	lock in	core
		   SPAGE	00000080   process in page wait	state
		   SKEEP	00000100   another flag	to prevent
					   swap	out
		   SOMASK	00000200   restore old mask after
					   taking signal
		   SWEXIT	00000400   working on exiting
		   SPHYSIO	00000800   doing physical I/O
		   SVFORK	00001000   process resulted from
		   SVFDONE	00002000   another vfork flag
		   SNOVM	00004000   no vm, parent in a vfork()
		   SPAGI	00008000   init	data space on demand,
					   from	vnode
		   SSEQL	00010000   user	warned of sequential
					   vm behavior
		   SUANOM	00020000   user	warned of anomalous
					   vm behavior
		   STIMO	00040000   timing out during sleep
		   SORPHAN	00080000   process is orphaned
		   STRACNG	00100000   process is tracing another
		   SOWEUPC	00200000   process is being profiled
					   and has a pending count increment
		   SSEL		00400000   selecting; wakeup/waiting
		   SFAVORD	02000000   favored treatment in
					   swapout and pageout
		   SLKDONE	04000000   record-locking has been
		   STRCSYS	08000000   tracing system calls
		   SNOCLDSTOP	10000000   SIGCHLD not sent when
					   child stops

		   SEXECED	20000000   process has completed
					   an exec
		   SRPC		40000000   sunview window locking

       A process that has exited and has a parent, but has not yet been	waited
       for by the parent, is marked <defunct>; a process that is blocked  try-
       ing  to exit is marked <exiting>; otherwise, 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  environment	 variables  LC_CTYPE, LANG, and	LC_default control the
       character classification	throughout ps.	On entry to ps,	these environ-
       ment  variables are checked in the following order: LC_CTYPE, LANG, and
       LC_default.  When a valid value is found, remaining  environment	 vari-
       ables  for  character  classification  are ignored.  For	example, a new
       setting for LANG	does not override the current valid character  classi-
       fication	 rules	of  LC_CTYPE.	When  none of the values is valid, the
       shell character classification defaults to the POSIX.1 "C" locale.

       /vmunix		   system namelist
       /dev/kmem	   kernel memory
       /dev/drum	   swap	device
       /vmcore		   core	file
       /dev		   searched to find swap device	and terminal names
       /etc/psdatabase	   system namelist, device, and	wait channel  informa-

       kill(1),	 w(1),	getpriority(2),	 getrlimit(2),	wait(2V),  vadvise(2),
       nice(3V), termio(4), locale(5), pstat(8)

       Things can change while ps is running; the picture it gives is  only  a
       close approximation to the current state.

				2 October 1989				 PS(1)


Want to link to this manual page? Use this URL:

home | help