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

FreeBSD Manual Pages

  
 
  

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

NAME
       ps -- process status

SYNOPSIS
       ps    [--libxo]	  [-AaCcdefHhjlmrSTuvwXxZ]    [-O    fmt]   [-o	  fmt]
	  [-D up | down	| both]	[-G gid[,gid...]] [-J jid[,jid...]] [-M	 core]
	  [-N system] [-p pid[,pid...]]	[-t tty[,tty...]] [-U user[,user...]]
       ps [--libxo] -L

DESCRIPTION
       The  ps	utility	 displays  information about a selection of processes.
       Its traditional text style output consists of a header line followed by
       one line	of information per selected process, or	possibly multiple ones
       if using	-H (one	per lightweight-process).  Other output	styles can  be
       requested via --libxo.

       By  default,  only  the	processes  of  the calling user, determined by
       matching	their effective	user ID	with that of the ps process, that have
       controlling terminals are shown.	 A different set of processes  can  be
       selected	 for  display by using combinations of the -A, -a, -D, -G, -J,
       -p, -T, -t, -U, -X, and -x options.  Except for options -X and  -x,  as
       soon as one of them appears, it inhibits	the default process selection,
       i.e.,  the calling user's processes are shown only on request.  If more
       than one	of  these  (with  same	exceptions)  appear,  ps  will	select
       processes  as  soon  as	they  are  matched  by	at  least  one of them
       (inclusive OR).	The -X option can be  independently  used  to  further
       filter  the listed processes to only those that have a controlling ter-
       minal (except for those selected	by -p).	 Its opposite, -x,  forcefully
       removes	that  filter.	If none	of -X and -x is	specified, the implied
       default behavior	is that	of -X unless using another  option  whose  de-
       scription explicitly says that -x is implied.

       For  each  selected process, the	default	displayed information consists
       of the process' ID, controlling terminal, state,	 CPU  time  (including
       both   user   and   system   time)  and	associated  command  (see  the
       documentation for the command keyword below).  This information can  be
       tweaked	using  two  groups of options which can	be combined as needed.
       First, options -o and -O	add columns with data corresponding to the ex-
       plicitly	passed keywords.  Available keywords  are  documented  in  the
       "KEYWORDS" section below.  They can be listed using option -L.  Second,
       options	-j,  -l,  -u,  and  -v designate specific predefined groups of
       columns,	also called canned displays.  Appearance of any	of  these  op-
       tions inhibits the default display, replacing it	all with the requested
       columns,	 and  in the order options are passed.	The individual columns
       requested via a canned display option that have the same	keyword	or  an
       alias to	that of	some column added by an	earlier	canned display option,
       or  by  an  explicit  -O	or -o option anywhere on the command line, are
       suppressed.  This automatic removal of duplicate	data  in  canned  dis-
       plays  is  useful for slightly tweaking these displays and/or combining
       multiple	ones without having to rebuild variants	 from  scratch,	 e.g.,
       using only -o options.

       Output  information  lines  are	by default sorted first	by controlling
       terminal, then by process ID, and then, if -H has  been	specified,  by
       lightweight-process  (thread)  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.

       If  the traditional text	output (the default) is	used, the default out-
       put width is that requested by  the  COLUMNS  environment  variable  if
       present,	 else  the  line  width	 of  the terminal associated to	the ps
       process,	if any.	 In all	other situations, the output width  is	unlim-
       ited.  See also the -w option and the "BUGS" section.

       For  backwards  compatibility,  ps attempts to interpret	any positional
       argument	as a process ID, as if specified by the	-p option.  Failure to
       do so will trigger an error.  ps	also accepts  the  old-style  BSD  op-
       tions, whose format and effect are left undocumented on purpose.

       The options are as follows:

       --libxo
	       Generate	 output	via libxo(3) in	a selection of different human
	       and machine readable formats.  See xo_parse_args(3) for details
	       on command line arguments.  The default is the traditional text
	       style output.

       -A      Display information about all processes in the  system.	 Using
	       this  option  is	 strictly equivalent to	specifying both	-a and
	       -x.  Please see their description for more information.

       -a      Display information about all users' processes.	It  does  not,
	       however,	  list	 all  processes	 (see  -A  and	-x).   If  the
	       security.bsd.see_other_uids sysctl is set to zero, this	option
	       is honored only if the real user	ID of the ps process is	0.

       -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).

       -c      Change  the  "command"  column  output to just contain the exe-
	       cutable name, rather than the full command line.

       -D      Expand the list of selected  processes  based  on  the  process
	       tree.   "UP"  will  add the ancestor processes, "DOWN" will add
	       the descendant processes, and "BOTH" will add both the ancestor
	       and the descendant processes.  -D does not imply	-d, but	 works
	       well with it.

       -d      Arrange	processes  into	descendancy order and prefix each com-
	       mand with indentation text showing sibling and parent/child re-
	       lationships as a	tree.  If either of the	-m and -r options  are
	       also  used, they	control	how sibling processes are sorted rela-
	       tive to each other.  Note that this option has no effect	if the
	       last column does	not have comm, command or ucomm	 as  its  key-
	       word.

       -e      Display the environment as well.

       -f      Show  command-line and environment information also for swapped
	       out processes.  This option is honored only if the UID  of  the
	       user is 0.

       -G      Display information about processes whose real group ID matches
	       the specified group IDs or names.  Implies -x by	default.

       -H      Show all	of the threads associated with each process.

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

       -J      Display information about processes which match	the  specified
	       jail IDs.  This may be either the jid or	name of	the jail.  Use
	       -J  0  to request display of host processes.  Implies -x	by de-
	       fault.

       -j      Print information associated with the following keywords: user,
	       pid, ppid, pgid,	sid, 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, mwchan, 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,	which is the kernel image the system has booted	from.

       -O      Save  passed  columns  in  a  separate  list that in the	end is
	       grafted just after the display's	first occurence	of the process
	       ID column as specified by other options,	or the default display
	       if there	is none.  If the display  prepared  by	other  options
	       does  not  include a process ID column, the list	is inserted at
	       start of	the display.  Further occurences of -O append  to  the
	       to-be-grafted  list  of columns.	 This option takes a space- or
	       comma-separated list of keywords.  The last keyword in the list
	       may be appended with an equals sign (`=') as explained for  op-
	       tion -o and with	the same effect.

       -o      Display	information  associated	with the space-	or comma-sepa-
	       rated list of keywords specified.  The last keyword in the list
	       may be appended with an equals sign (`=')  and  a  string  that
	       spans the rest of the argument, and can contain space and comma
	       characters.   This  causes the printed header to	use the	speci-
	       fied string instead of the standard header.  Multiple  keywords
	       may  also  be given in the form of more than one	-o option.  So
	       the header texts	for multiple keywords can be changed.  If  all
	       keywords	have empty header texts, no header line	is written.

       -p      Display	information  about processes which match the specified
	       process IDs.  Processes selected	by this	option are not subject
	       to being	filtered by -X.

       -r      Sort by current CPU usage, instead of the combination  of  con-
	       trolling	terminal and process ID.

       -S      Change  the way the process times, namely cputime, systime, and
	       usertime, are calculated	by  summing  all  exited  children  to
	       their parent process.

       -T      Display	information about processes attached to	the device as-
	       sociated	with the standard input.

       -t      Display information about processes attached to	the  specified
	       terminal	 devices.   Full  pathnames,  as well as abbreviations
	       (see explanation	of the tt keyword) can be specified.   Implies
	       -x by default.

       -U      Display	information about processes whose real user ID matches
	       the specified user IDs or names.	 Implies -x by default.

       -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 at least 131	columns	to  display  information.   If	-w  is
	       specified more than once, ps will use as	many columns as	neces-
	       sary.   Please see the preamble of this manual page for how the
	       output width is initially determined.  In  particular,  if  the
	       initial output width is unlimited, specifying -w	has no effect.
	       Please also consult the "BUGS" section.

       -X      When  displaying	 processes selected by other options, skip any
	       processes which do not have a controlling terminal, except  for
	       those  selected through -p.  This is the	default	behaviour, un-
	       less using another option  whose	 description  explicitly  says
	       that -x is implied.

       -x      When  displaying	 processes  selected by	other options, include
	       processes which do not have a controlling terminal.   This  op-
	       tion  has  the opposite behavior	to that	of -X.	If both	-X and
	       -x are specified, ps will obey the last occurence.

       -Z      Add mac(4) label	to the list of keywords	for which ps will dis-
	       play information.

KEYWORDS
       The following is	a complete list	of the available  keywords  and	 their
       meanings.   Several of them have	aliases	(keywords which	are synonyms).
       Detailed	descriptions for some of them can be found after this list.

       %cpu	  percentage CPU usage (alias pcpu)
       %mem	  percentage memory usage (alias pmem)
       acflag	  accounting flag (alias acflg)
       args	  command and arguments
       class	  login	class
       comm	  command
       command	  command and arguments
       cow	  number of copy-on-write faults
       cpu	  The processor	number on which	the process is executing (vis-
		  ible only on SMP systems).
       dsiz	  data size in KiB
       emul	  system-call emulation	environment (ABI)
       etime	  elapsed	    running	       time,		format
		  "[days-][hours:]minutes:seconds"
       etimes	  elapsed running time,	in decimal integer seconds
       fib	  default FIB number, see setfib(1)
       flags	  the process flags, in	hexadecimal (alias f)
       flags2	  the  additional  set of process flags, in hexadecimal	(alias
		  f2)
       gid	  effective group ID (alias egid)
       group	  group	name (from egid) (alias	egroup)
       inblk	  total	blocks read (alias inblock)
       jail	  jail name
       jid	  jail ID
       jobc	  job control count
       ktrace	  tracing flags
       label	  MAC label
       lim	  memoryuse limit
       lockname	  lock currently blocked on (as	a symbolic name)
       logname	  login	name of	user who started the session
       lstart	  time started
       lwp	  thread (light-weight process)	ID (alias tid)
       majflt	  total	page faults
       minflt	  total	page reclaims
       msgrcv	  total	messages received (reads from pipes/sockets)
       msgsnd	  total	messages sent (writes on pipes/sockets)
       mwchan	  wait channel or lock currently blocked on
       nice	  nice value (alias ni)
       nivcsw	  total	involuntary context switches
       nlwp	  number of threads (light-weight processes) tied to a process
       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)
       paddr	  process pointer
       pagein	  pageins (same	as majflt)
       pgid	  process group	number
       pid	  process ID
       ppid	  parent process ID
       pri	  scheduling priority
       re	  core residency time (in seconds; 127 = infinity)
       rgid	  real group ID
       rgroup	  group	name (from rgid)
       rss	  resident set size in KiB
       rtprio	  realtime priority (see rtprio(1))
       ruid	  real user ID
       ruser	  user name (from ruid)
       sid	  session ID
       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)
       ssiz	  stack	size in	KiB
       start	  time started
       state	  symbolic process state (alias	stat)
       svgid	  saved	gid from a setgid executable
       svuid	  saved	UID from a setuid executable
       systime	  accumulated system CPU time
       tdaddr	  thread address
       tdname	  thread name
       tdev	  control terminal device number
       time	  accumulated CPU time,	user + system (alias cputime)
       tpgid	  control terminal process group ID
       tracer	  tracer process ID
       tsid	  control terminal session ID
       tsiz	  text size in KiB
       tt	  control terminal name	(two letter abbreviation)
       tty	  full name of control terminal
       ucomm	  process name used for	accounting
       uid	  effective user ID (alias euid)
       upr	  scheduling  priority	on  return  from  system  call	(alias
		  usrpri)
       uprocp	  process pointer
       user	  user name (from UID)
       usertime	  accumulated user CPU time
       vmaddr	  vmspace pointer
       vsz	  virtual size in KiB (alias vsize)
       wchan	  wait channel (as a symbolic name)
       xstat	  exit	or  stop  status  (valid  only	for  stopped or	zombie
		  process)

       Some of these keywords are further specified as follows:

       %cpu	 The CPU utilization of	the process; this is a decaying	 aver-
		 age  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.

       class	 Login class associated	with the process.

       command	 The  printed command and arguments are	determined as follows.
		 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>." If the	arguments cannot be  located  (usually
		 because  they	have  not  been	set, as	is the case for	system
		 processes and/or kernel threads), the command name is printed
		 within	square brackets.  The ps utility first tries to	obtain
		 the arguments cached by the kernel (if	they were shorter than
		 the  value  of	 the  kern.ps_arg_cache_limit  sysctl).	   The
		 process  can change the arguments shown with setproctitle(3).
		 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 method	is inherently somewhat
		 unreliable and	in any event a process is entitled to  destroy
		 this  information.   The ucomm	keyword	(accounting) can, how-
		 ever, be depended on.	If the arguments are unavailable or do
		 not agree with	the ucomm keyword, the	value  for  the	 ucomm
		 keyword is appended to	the arguments in parentheses.

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

		 P_ADVLOCK	      0x00000001    Process may	hold  a	 POSIX
						    advisory lock
		 P_CONTROLT	      0x00000002    Has	a controlling terminal
		 P_KPROC	      0x00000004    Kernel process
		 P_PPWAIT	      0x00000010    Parent   is	  waiting  for
						    child to exec/exit
		 P_PROFIL	      0x00000020    Has	started	profiling
		 P_STOPPROF	      0x00000040    Has	thread	in  requesting
						    to stop prof
		 P_HADTHREADS	      0x00000080    Has	   had	 threads   (no
						    cleanup shortcuts)
		 P_SUGID	      0x00000100    Had	 set   id   privileges
						    since last exec
		 P_SYSTEM	      0x00000200    System   proc:   no	 sigs,
						    stats or swapping
		 P_SINGLE_EXIT	      0x00000400    Threads suspending	should
						    exit, not wait
		 P_TRACED	      0x00000800    Debugged   process	 being
						    traced
		 P_WAITED	      0x00001000    Someone is waiting for us
		 P_WEXIT	      0x00002000    Working on exiting
		 P_EXEC		      0x00004000    Process called exec
		 P_WKILLED	      0x00008000    Killed,   shall   go    to
						    kernel/user	boundary ASAP
		 P_CONTINUED	      0x00010000    Proc  has continued	from a
						    stopped state
		 P_STOPPED_SIG	      0x00020000    Stopped	  due	    to
						    SIGSTOP/SIGTSTP
		 P_STOPPED_TRACE      0x00040000    Stopped because of tracing
		 P_STOPPED_SINGLE     0x00080000    Only    one	  thread   can
						    continue
		 P_PROTECTED	      0x00100000    Do	not  kill  on	memory
						    overcommit
		 P_SIGEVENT	      0x00200000    Process   pending  signals
						    changed
		 P_SINGLE_BOUNDARY    0x00400000    Threads should suspend  at
						    user boundary
		 P_HWPMC	      0x00800000    Process is using HWPMCs
		 P_JAILED	      0x01000000    Process is in jail
		 P_TOTAL_STOP	      0x02000000    Stopped for	system suspend
		 P_INEXEC	      0x04000000    Process is in execve(2)
		 P_STATCHILD	      0x08000000    Child  process  stopped or
						    exited
		 P_INMEM	      0x10000000    Loaded into	memory
		 P_SWAPPINGOUT	      0x20000000    Process is	being  swapped
						    out
		 P_SWAPPINGIN	      0x40000000    Process  is	 being swapped
						    in
		 P_PPTRACE	      0x80000000    Vforked    child	issued
						    ptrace(PT_TRACEME)

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

		 P2_INHERIT_PROTECTED	 0x00000001    New    children	   get
						       P_PROTECTED
		 P2_NOTRACE		 0x00000002    ptrace(2)   attach   or
						       coredumps
		 P2_NOTRACE_EXEC	 0x00000004    Keep   P2_NOPTRACE   on
						       execve(2)
		 P2_AST_SU		 0x00000008    Handles	 SU   ast  for
						       kthreads
		 P2_PTRACE_FSTP		 0x00000010    SIGSTOP from  PT_ATTACH
						       not yet handled
		 P2_TRAPCAP		 0x00000020    SIGTRAP on ENOTCAPABLE
		 P2_ASLR_ENABLE		 0x00000040    Force enable ASLR
		 P2_ASLR_DISABLE	 0x00000080    Force disable ASLR
		 P2_ASLR_IGNSTART	 0x00000100    Enable  ASLR to consume
						       sbrk area
		 P2_PROTMAX_ENABLE	 0x00000200    Force  enable   implied
						       PROT_MAX
		 P2_PROTMAX_DISABLE	 0x00000400    Force  disable  implied
						       PROT_MAX
		 P2_STKGAP_DISABLE	 0x00000800    Disable stack  gap  for
						       MAP_STACK
		 P2_STKGAP_DISABLE_EXEC	 0x00001000    Stack	gap   disabled
						       after exec
		 P2_ITSTOPPED		 0x00002000    itimers	 stopped   (as
						       part of process stop)
		 P2_PTRACEREQ		 0x00004000    Active ptrace req
		 P2_NO_NEW_PRIVS	 0x00008000    Ignore setuid on	exec
		 P2_WXORX_DISABLE	 0x00010000    WX mappings enabled
		 P2_WXORX_ENABLE_EXEC	 0x00020000    WxorX   enabled	 after
						       exec
		 P2_WEXIT		 0x00040000    Internal	  exit	 early
						       state
		 P2_REAPKILLED		 0x00080000    REAP_KILL  pass handled
						       the process
		 P2_MEMBAR_PRIVE	 0x00100000    membarrier      private
						       expedited registered
		 P2_MEMBAR_PRIVE_SYNCORE 0x00200000    membarrier      private
						       expedited   sync	  core
						       registered
		 P2_MEMBAR_GLOBE	 0x00400000    membar global expedited
						       registered

       label	 The MAC label of the process.

       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 de-
		 scribed in strftime(3).

       lockname	 The name of the lock that the process	is  currently  blocked
		 on.   If  the	name is	invalid	or unknown, then "???" is dis-
		 played.

       logname	 The login name	associated with	the session the	process	is  in
		 (see getlogin(2)).

       mwchan	 The  event  name  if  the process is blocked normally,	or the
		 lock name if the process is blocked on	a lock.	 See the wchan
		 and lockname keywords for details.

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

       rss	 the real memory (resident set)	size of	the process in KiB.

       start	 The time the command started.	If the	command	 started  less
		 than  24  hours  ago,	the  start time	is displayed using the
		 "%H:%M" format	described  in  strftime(3).   If  the  command
		 started less than 7 days ago, the start time is displayed us-
		 ing  the  "%a%H"  format.   Otherwise,	the start time is dis-
		 played	using the "%e%b%y" format.

       sig	 The bitmask of	signals	pending	in the process queue if	the -H
		 option	has not	been specified,	else the per-thread  queue  of
		 pending signals.

       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, unin-
			 terruptible) wait.
		 I	 Marks a process that is  idle	(sleeping  for	longer
			 than about 20 seconds).
		 L	 Marks a process that is waiting to acquire a lock.
		 R	 Marks a runnable process.
		 S	 Marks	a process that is sleeping for less than about
			 20 seconds.
		 T	 Marks a stopped process.
		 W	 Marks an idle interrupt thread.
		 Z	 Marks a dead process (a "zombie").

		 Additional characters after these,  if	 any,  indicate	 addi-
		 tional	state information:

		 +	 The process is	in the foreground process group	of its
			 control terminal.
		 <	 The process has raised	CPU scheduling priority.
		 C	 The process is	in capsicum(4) capability mode.
		 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'	parent is suspended during a vfork(2),
			 waiting for the process to exec or exit.
		 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  fol-
		 lowing	 /dev/tty, or, for pseudo-terminals, the corresponding
		 entry in /dev/pts.  This is followed by a `-' if the  process
		 can  no  longer reach that controlling	terminal (i.e.,	it has
		 been revoked).	 A `-' without a preceding two letter abbrevi-
		 ation or pseudo-terminal device number	 indicates  a  process
		 which never had a controlling terminal.  The full pathname of
		 the controlling terminal is available via the tty keyword.

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

ENVIRONMENT
       The following environment variables affect the execution	of ps:

       COLUMNS	If  set, specifies the user's preferred	output width in	column
		positions.  Only affects the traditional  text	style  output.
		Please	see  the preamble of this manual page on how the final
		output width is	determined.

FILES
       /boot/kernel/kernel  default system namelist

EXIT STATUS
       The ps utility exits 0 on success, and >0 if an error occurs.

EXAMPLES
       Display information on all system processes:

	     $ ps -auxw

SEE ALSO
       kill(1),	 pgrep(1),  pkill(1),  procstat(1),  w(1),  kvm(3),  libxo(3),
       strftime(3),  xo_parse_args(3), mac(4), procfs(5), pstat(8), sysctl(8),
       mutex(9)

STANDARDS
       For historical reasons, the ps utility under FreeBSD supports a differ-
       ent set of options from what is described by  and what is supported  on
       non-BSD operating systems.

       In  particular,	and  contrary  to this implementation, POSIX specifies
       that option -d should serve to  select  all  processes  except  session
       leaders,	 option	 -e  to	select all processes (equivalently to -A), and
       option -u to select processes by	effective user ID.

       However,	options	-A, -a,	-G, -l,	-o, -p,	-U,  and  -t  behave  as  pre-
       scribed by .  Options -f	and -w currently do not, but may be changed to
       in the future.

       POSIX's	option	-g, to select processes	having the specified processes
       as their	session	leader,	is not implemented.  However, other UNIX  sys-
       tems  that  provide this	functionality do so via	option -s instead, re-
       serving -g to query by group leaders.

HISTORY
       The ps command appeared in Version 3 AT&T UNIX in section 8 of the man-
       ual.

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

       ps  currently  does  not	 correctly  limit the ouput width, and in most
       cases does not limit it at all when it should.  Regardless of the  tar-
       get width, requested columns are	always all printed and with widths al-
       lowing  to entirely print their longest values, except for columns with
       keyword command or args that are	not last  in  the  display  (they  are
       truncated  to  16 bytes), and for the last column in the	display	if its
       keyword requests	textual	information of variable	length,	 such  as  the
       command,	 jail, and user	keywords do.  This considerably	limits the ef-
       fects and usefulness of the terminal width on the  output,  and	conse-
       quently	that of	the COLUMNS environment	variable and the -w option (if
       specified only once).

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

FreeBSD	13.2			 May 06, 2025				 PS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ps&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help