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)				 User Commands				 ps(1)

NAME
       ps - report process status

SYNOPSIS
       ps  [-aAcdefjlLPy]  [-g grplist]	[-n namelist]  [-o format]... [-p pro-
       clist] [-s sidlist] [-t term] [-u uidlist] [-U uidlist] [-G gidlist]

DESCRIPTION
       The ps command  prints  information  about  active  processes.  Without
       options,	 ps  prints  information  about	 processes  that have the same
       effective user ID and the same controlling terminal as the invoker. The
       output  contains	 only  the process ID, terminal	identifier, cumulative
       execution time, and the command name. Otherwise,	the  information  that
       is displayed is controlled by the options.

       Some  options  accept lists as arguments. Items in a list can be	either
       separated by commas or else enclosed in quotes and separated by	commas
       or spaces. Values for proclist and grplist must be numeric.

OPTIONS
       The following options are supported:

       -a    Lists  information	about all processes most frequently requested:
	     all those except session leaders  and  processes  not  associated
	     with a terminal.

       -A    Lists information for all processes. Identical to -e, below.

       -c    Prints information	in a format that reflects scheduler properties
	     as	described in priocntl(1). The -c option	affects	the output  of
	     the -f and	-l options, as described below.

       -d    Lists information about all processes except session leaders.

       -e    Lists information about every process now running.

       -f    Generates	a full listing.	(See below for significance of columns
	     in	a full listing.)

       -g grplist
	     Lists only	process	data whose group leader's ID number(s) appears
	     in	 grplist. (A group leader is a process whose process ID	number
	     is	identical to its process group ID number.)

       -G gidlist
	     Lists information for processes whose real	group ID  numbers  are
	     given  in	gidlist.  The gidlist must be a	single argument	in the
	     form of a blank- or comma-separated list.

       -j    Prints session ID and process group ID.

       -l    Generates a long listing. (See below.)

       -L    Prints information	about each light weight	process	(lwp) in  each
	     selected process. (See below.)

       -n namelist
	     Specifies	the  name  of  an  alternative system namelist file in
	     place of the default. This	option is accepted for	compatibility,
	     but is ignored.

       -o format
	     Prints information	according to the format	specification given in
	     format. This is fully described in	DISPLAY	FORMATS.  Multiple  -o
	     options can be specified; the format specification	will be	inter-
	     preted as the space-character-separated concatenation of all  the
	     format option-arguments.

       -ps proclist
	     Lists  only  process  data	 whose process ID numbers are given in
	     proclist.

       -P    Prints the	number of the processor	to which the process or	lwp is
	     bound, if any, under an additional	column header, PSR.

       -s sidlist
	     Lists  information	 on  all  session  leaders whose IDs appear in
	     sidlist.

       -t term
	     Lists only	process	data associated	with  term.  Terminal  identi-
	     fiers are specified as a device file name,	and an identifier. For
	     example, term/a, or pts/0.

       -u uidlist
	     Lists only	process	data whose effective user ID number  or	 login
	     name  is  given in	uidlist. In the	listing, the numerical user ID
	     will be printed unless you	give the -f option, which  prints  the
	     login name.

       -U uidlist
	     Lists  information	 for  processes	 whose real user ID numbers or
	     login names are given in uidlist. The uidlist must	 be  a	single
	     argument in the form of a blank- or comma-separated list.

       -y    Under  a long listing (-l), omits the obsolete F and ADDR columns
	     and includes an RSS column	to report the resident set size	of the
	     process. Under the	-y option, both	RSS and	SZ (see	below) will be
	     reported in units of kilobytes instead of pages.

       Many of the options shown are used to select processes to list. If  any
       are  specified, the default list	will be	ignored	and ps will select the
       processes represented by	the inclusive OR of all	the selection-criteria
       options.

DISPLAY	FORMATS
       Under  the  -f option, ps tries to determine the	command	name and argu-
       ments given when	the process was	created	by examining the  user	block.
       Failing	this,  the  command name is printed, as	it would have appeared
       without the -f option, in square	brackets.

       The column headings and the meaning of the columns in a ps listing  are
       given  below;  the  letters  f and l indicate the option	(full or long,
       respectively) that causes the  corresponding  heading  to  appear;  all
       means  that  the	heading	always appears.	Note: These two	options	deter-
       mine only what information is provided  for  a  process;	 they  do  not
       determine which processes will be listed.

       F    (l)
	     Flags  (hexadecimal  and  additive)  associated with the process.
	     These flags are available for  historical	purposes;  no  meaning
	     should be currently ascribed to them.

       S (l) The state of the process:

	     O	   Process is running on a processor.

	     S	   Sleeping: process is	waiting	for an event to	complete.

	     R	   Runnable: process is	on run queue.

	     Z	   Zombie state: process terminated and	parent not waiting.

	     T	   Process  is	stopped,  either  by  a	 job control signal or
		   because it is being traced.

       UID (f,l)
	     The effective user	ID number of the process (the  login  name  is
	     printed under the -f option).

       PID  (all)
	     The  process  ID of the process (this datum is necessary in order
	     to	kill a process).

       PPID (f,l)
	     The process ID of the parent process.

       C    (f,l)
	     Processor utilization for scheduling (obsolete). Not printed when
	     the -c option is used.

       CLS  (f,l)
	     Scheduling	class. Printed only when the -c	option is used.

       PRI  (l)
	     The  priority  of the process. Without the	-c option, higher num-
	     bers mean lower priority. With the	-c option, higher numbers mean
	     higher priority.

       NI   (l)
	     Nice value, used in priority computation. Not printed when	the -c
	     option is used. Only processes in the certain scheduling  classes
	     have a nice value.

       ADDR (l)
	     The memory	address	of the process.

       SZ   (l)
	     The  total	 size  of the process in virtual memory, including all
	     mapped files and devices, in pages. See pagesize(1).

       WCHAN	 (l)
	     The address of an event for which the  process  is	 sleeping  (if
	     blank, the	process	is running).

       STIME	 (f)
	     The  starting  time  of the process, given	in hours, minutes, and
	     seconds. (A process begun more than twenty-four hours before  the
	     ps	inquiry	is executed is given in	months and days.)

       TTY  (all)
	     The  controlling  terminal	 for  the  process (the	message, ?, is
	     printed when there	is no controlling terminal).

       TIME (all)
	     The cumulative execution time for the process.

       CMD  (all)
	     The command name (the full	command	name and its arguments,	up  to
	     a limit of	80 characters, are printed under the -f	option).

       The  following two additional columns are printed when the -j option is
       specified:

       PGID  The process ID of the process group leader.

       SID   The process ID of the session leader.

       The following two additional columns are	printed	when the -L option  is
       specified:

       LWP   The lwp ID	of the lwp being reported.

       NLWP  The number	of lwps	in the process (if -f is also specified).

       Under  the  -L  option, one line	is printed for each lwp	in the process
       and the time-reporting fields STIME and TIME show the  values  for  the
       lwp,  not  the  process.	A traditional single-threaded process contains
       only one	lwp.

       A process that has exited and has a parent, but has not yet been	waited
       for by the parent, is marked <defunct>.

   -o format
       The  -o option allows the output	format to be specified under user con-
       trol.

       The format specification	must be	a list of names	presented as a	single
       argument,  blank-  or  comma-separated.	Each  variable	has  a default
       header. The default header can be overridden  by	 appending  an	equals
       sign  and the new text of the header. The rest of the characters	in the
       argument	will be	used as	the header text. The fields specified will  be
       written	in  the	 order	specified  on  the command line, and should be
       arranged	in columns in the output. The field widths will	be selected by
       the  system to be at least as wide as the header	text (default or over-
       ridden value). If the header text is null, such as -o user=, the	 field
       width  will  be	at  least  as  wide as the default header text.	If all
       header text fields are null, no header line will	be written.

       The following names are recognized in the POSIX locale:

       user  The effective user	ID of the process. This	will  be  the  textual
	     user  ID, if it can be obtained and the field width permits, or a
	     decimal representation otherwise.

       ruser The real user ID of the process. This will	be  the	 textual  user
	     ID, if it can be obtained and the field width permits, or a deci-
	     mal representation	otherwise.

       group The 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.

       rgroup
	     The real group ID of the process. This will be the	textual	 group
	     ID, if it can be obtained and the field width permits, or a deci-
	     mal representation	otherwise.

       pid   The decimal value of the process ID.

       ppid  The decimal value of the parent process ID.

       pgid  The decimal value of the process group ID.

       pcpu  The ratio of CPU time used	recently to CPU	time available in  the
	     same   period,   expressed	  as  a	 percentage.  The  meaning  of
	     ``recently'' in this context is unspecified. The CPU time	avail-
	     able is determined	in an unspecified manner.

       vsz   The total size of the process in virtual memory, in kilobytes.

       nice  The  decimal  value  of  the  system  scheduling  priority	of the
	     process. See nice(1).

       etime In	the POSIX locale, the  elapsed	time  since  the  process  was
	     started, in the form:

	     [[dd-]hh:]mm:ss

	     where

	     dd	   is the number of days

	     hh	   is the number of hours

	     mm	    is the number of minutes

	     ss	   is the number of seconds

	     The  dd field will	be a decimal integer. The hh, mm and ss	fields
	     will be two-digit decimal integers	padded on the left with	zeros.

       time  In	 the  POSIX  locale, the cumulative CPU	time of	the process in
	     the form:

	     [dd-]hh:mm:ss

	     The dd, hh, mm, and  ss fields will be as described in the	 etime
	     specifier.

       tty   The  name	of the controlling terminal of the process (if any) in
	     the same format used by the who(1)	command.

       comm  The name of the command  being  executed  (argv[0]	 value)	 as  a
	     string.

       args  The  command  with	all its	arguments as a string. The implementa-
	     tion may truncate this value to the field width; it is  implemen-
	     tation-dependent  whether	any  further  truncation occurs. It is
	     unspecified whether the string represented	is a  version  of  the
	     argument list as it was passed to the command when	it started, or
	     is	a version of the arguments as they may have been  modified  by
	     the application. Applications cannot depend on being able to mod-
	     ify their argument	list and having	that modification be reflected
	     in	the output of ps. The Solaris implementation limits the	string
	     to	80 bytes; the string is	the version of the argument list as it
	     was passed	to the command when it started.

       The following names are recognized in the Solaris implementation:

       f     Flags (hexadecimal	and additive) associated with the process.

       s     The state of the process.

       c     Processor utilization for scheduling (obsolete).

       uid   The effective user	ID number of the process as a decimal integer.

       ru+id The real user ID number of	the process as a decimal integer.

       gid   The effective group ID number of the process as a	decimal	 inte-
	     ger.

       rgid  The real group ID number of the process as	a decimal integer.

       projid
	     The project ID number of the process as a decimal integer.

       project
	     The  project  ID  of the process as a textual value if that value
	     can be obtained; otherwise	as a decimal integer.

       sid   The process ID of the session leader.

       taskid
	     The task ID of the	process.

       class The scheduling class of the process.

       pri   The priority of the process. Higher numbers mean higher priority.

       opri  The  obsolete  priority of	the process. Lower numbers mean	higher
	     priority.

       lwp   The decimal value of  the	lwp  ID.  Requesting  this  formatting
	     option causes one line to be printed for each lwp in the process.

       nlwp  The number	of lwps	in the process.

       psr   The number	of the processor to which the process or lwp is	bound.

       pset  The  ID  of  the  processor set to	which  the  process  or	lwp is
	     bound.

       addr  The memory	address	of the process.

       osz   The total size of the process in virtual memory, in pages.

       wchan The address of an event for which the process is sleeping (if  -,
	     the process is running).

       stime The starting time or date of the process, printed with no blanks.

       rss   The resident set size of the process, in kilobytes.

       pmem  The ratio of the process's	resident set size to the physical mem-
	     ory on the	machine, expressed as a	percentage.

       fname The  first	 8  bytes of the base name of the process's executable
	     file.

       Only comm and args are allowed to contain blank characters; all others,
       including the Solaris implementation variables, are not.

       The  following  table  specifies	 the  default header to	be used	in the
       POSIX locale corresponding to each format specifier.

       +--------------------------------+--------------------------------+
       |Format		 Default	|Format		  Default	 |
       |Specifier	 Header		|Specifier	  Header	 |
       |args		 COMMAND	|ppid		  PPID		 |
       |comm		 COMMAND	|rgroup		  RGROUP	 |
       |etime		 ELAPSED	|ruser		  RUSER		 |
       |group		 GROUP		|time		  TIME		 |
       |nice		 NI		|tty		  TT		 |
       |pcpu		 %CPU		|user		  USER		 |
       |pgid		 PGID		|vsz		  VSZ		 |
       |pid		 PID		|				 |
       +--------------------------------+--------------------------------+

       The following table lists the Solaris implementation format  specifiers
       and the default header used with	each.

       +--------------------------------+--------------------------------+
       |Format		 Default	|Format		  Default	 |
       |Specifier	 Header		|Specifier	  Header	 |
       |addr		 ADDR		|projid		  PROJID	 |
       |c		 C		|project	  PROJECT	 |
       |class		 CLS		|psr		  PSR		 |
       |f		 F		|rgid		  RGID		 |
       |fname		 COMMAND	|rss		  RSS		 |
       |gid		 GID		|ruid		  RUID		 |
       |lwp		 LWP		|s		  S		 |
       |nlwp		 NLWP		|sid		  SID		 |
       |opri		 PRI		|stime		  STIME		 |
       |osz		 SZ		|taskid		  TASKID	 |
       |pmem		 %MEM		|uid		  UID		 |
       |pri		 PRI		|wchan		  WCHAN		 |
       +--------------------------------+--------------------------------+

EXAMPLES
       Example 1: An example of	the ps command

       The command:

       example%	ps -o user,pid,ppid=MOM	-o args

       writes the following in the POSIX locale:

	USER  PID   MOM	  COMMAND
       helene  34    12	  ps -o	uid,pid,ppid=MOM -o args

       The  contents of	the COMMAND field need not be the same due to possible
       truncation.

ENVIRONMENT VARIABLES
       See environ(5) for descriptions of the following	environment  variables
       that  affect  the  execution of ps: LC_CTYPE, LC_MESSAGES, LC_TIME, and
       NLSPATH.

       COLUMNS
	     Override the system-selected  horizontal  screen  size,  used  to
	     determine the number of text columns to display.

EXIT STATUS
       The following exit values are returned:

       0     Successful	completion.

       >0    An	error occurred.

FILES
       /dev/pts/*

       /dev/term/*
	     terminal (``tty'')	names searcher files

       /etc/passwd
	     UID information supplier

       /proc/*
	     process control files

       /tmp/ps_data
	     internal data structure

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled (see USAGE)	   |
       +-----------------------------+-----------------------------+

SEE ALSO
       kill(1),	  nice(1),   pagesize(1),   pgrep(1),	priocntl(1),   who(1),
       getty(1M), proc(4), ttysrch(4), attributes(5), environ(5)

NOTES
       Things can change while ps is running. The snapshot it  gives  is  true
       only for	a split-second,	and it may not be accurate by the time you see
       it. Some	data printed for defunct processes is irrelevant.

       If no options to	select processes are specified,	 ps  will  report  all
       processes associated with the controlling terminal. If there is no con-
       trolling	terminal, there	will be	no report other	than the header.

       ps -ef or ps -o stime may not report the	actual start of	 a  tty	 login
       session,	but rather an earlier time, when a getty was last respawned on
       the tty line.

       ps is CSI-enabled except	for login names	(usernames).

SunOS 5.9			  10 Dec 2001				 ps(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | DISPLAY FORMATS | EXAMPLES | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SEE ALSO | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ps&manpath=SunOS+5.9>

home | help