aboutsummaryrefslogtreecommitdiffstats
path: root/adv_cmds/ps/ps.1
diff options
context:
space:
mode:
Diffstat (limited to 'adv_cmds/ps/ps.1')
-rw-r--r--adv_cmds/ps/ps.1663
1 files changed, 663 insertions, 0 deletions
diff --git a/adv_cmds/ps/ps.1 b/adv_cmds/ps/ps.1
new file mode 100644
index 0000000..20eed1c
--- /dev/null
+++ b/adv_cmds/ps/ps.1
@@ -0,0 +1,663 @@
+.\"-
+.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
+.\" $FreeBSD: src/bin/ps/ps.1,v 1.86 2005/04/29 11:10:27 maxim Exp $
+.\"
+.Dd March 20, 2005
+.Dt PS 1
+.Os
+.Sh NAME
+.Nm ps
+.Nd process status
+.Sh SYNOPSIS
+.Nm
+.Op Fl AaCcEefhjlMmrSTvwXx
+.Op Fl O Ar fmt | Fl o Ar fmt
+.Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ...
+.Op Fl g Ar grp Ns Op , Ns Ar grp Ns Ar ...
+.Op Fl u Ar uid Ns Op , Ns Ar uid Ns Ar ...
+.Op Fl p Ar pid Ns Op , Ns Ar pid Ns Ar ...
+.Op Fl t Ar tty Ns Op , Ns Ar tty Ns Ar ...
+.Op Fl U Ar user Ns Op , Ns Ar user Ns Ar ...
+.Nm
+.Op Fl L
+.Sh DESCRIPTION
+The
+.Nm
+utility
+displays a header line, followed by lines containing information about
+all of your
+processes that have controlling terminals.
+.Pp
+A different set of processes can be selected for display by using any
+combination of the
+.Fl a , G , g , p , T , t , U ,
+and
+.Fl u
+options.
+If more than one of these options are given, then
+.Nm
+will select all processes which are matched by at least one of the
+given options.
+.Pp
+For the processes which have been selected for display,
+.Nm
+will usually display one line per process.
+The
+.Fl M
+option may result in multiple output lines (one line per thread) for
+some processes.
+By default all of these output lines are sorted first by controlling
+terminal, then by process ID.
+The
+.Fl m , r ,
+and
+.Fl 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.
+.Pp
+For the processes which have been selected for display, the information
+to display is selected based on a set of keywords (see the
+.Fl L , O ,
+and
+.Fl 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.
+.Pp
+The options are as follows:
+.Bl -tag -width indent
+.It Fl A
+Display information about other users' processes,
+including those without controlling terminals.
+.It Fl a
+Display information about other users' processes as well as your own.
+This will skip any processes which do not have a controlling terminal,
+unless the
+.Fl x
+option is also specified.
+.It Fl C
+Change the way the CPU percentage is calculated by using a
+.Dq raw
+CPU calculation that ignores
+.Dq resident
+time (this normally has
+no effect).
+.It Fl c
+Change the
+.Dq command
+column output to just contain the executable name,
+rather than the full command line.
+.It Fl d
+Like
+.Fl A ,
+but excludes session leaders.
+.It Fl E
+Display the environment as well.
+This does not reflect changes in the environment after process launch.
+.It Fl e
+Identical to
+.Fl A .
+.It Fl f
+Display the uid, pid, parent pid, recent CPU usage, process start time,
+controlling tty, elapsed CPU usage, and the associated command.
+If the
+.Fl u
+option is also used, display the user name rather then the numeric uid.
+When
+.Fl o
+or
+.Fl O
+is used to add to the display following
+.Fl f ,
+the command field is not truncated as severely as it is in other formats.
+.It Fl G
+Display information about processes
+which are running with the specified real group IDs.
+.It Fl g
+Display information about processes with the specified
+process group leaders.
+.It Fl h
+Repeat the information header as often as necessary
+to guarantee one header per page of information.
+.It Fl j
+Print information associated with the following keywords:
+.Cm user , pid , ppid , pgid , sess , jobc , state , tt , time ,
+and
+.Cm command .
+.It Fl L
+List the set of keywords available for the
+.Fl O
+and
+.Fl o
+options.
+.It Fl l
+Display information associated with the following keywords:
+.Cm uid , pid , ppid , flags , cpu , pri , nice , vsz=SZ , rss ,
+.Cm wchan , state=S , paddr=ADDR , tty , time ,
+and
+.Cm command=CMD .
+.It Fl M
+Print the threads corresponding to each task.
+.It Fl m
+Sort by memory usage, instead of the combination of controlling
+terminal and process ID.
+.It Fl 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
+.Pq Ql =
+sign and a string.
+This causes the printed header to use the specified string instead of
+the standard header.
+.It Fl 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
+.Fl o
+option.
+Keywords may be appended with an equals
+.Pq Ql =
+sign and a string.
+This causes the printed header to use the specified string instead of
+the standard header.
+If all keywords have empty header texts, no header line is written.
+.It Fl p
+Display information about processes which match the specified process IDs.
+.It Fl r
+Sort by current CPU usage, instead of the combination of controlling
+terminal and process ID.
+.It Fl S
+Change the way the process time is calculated by summing all exited
+children to their parent process.
+.It Fl T
+Display information about processes attached to the device associated
+with the standard input.
+.It Fl t
+Display information about processes attached to the specified terminal
+devices.
+.It Fl U
+Display the processes belonging to the specified real user IDs.
+.It Fl u
+Display the processes belonging to the specified usernames.
+.It Fl v
+Display information associated with the following keywords:
+.Cm pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz ,
+.Cm %cpu , %mem ,
+and
+.Cm command .
+The
+.Fl v
+option implies the
+.Fl m
+option.
+.It Fl w
+Use 132 columns to display information, instead of the default which
+is your window size.
+If the
+.Fl w
+option is specified more than once,
+.Nm
+will use as many columns as necessary without regard for your window size.
+When output is not to a terminal, an unlimited number of columns are
+always used.
+.It Fl X
+When displaying processes matched by other options, skip any processes
+which do not have a controlling terminal.
+.It Fl x
+When displaying processes matched by other options, include processes
+which do not have a controlling terminal.
+This is the opposite of the
+.Fl X
+option.
+If both
+.Fl X
+and
+.Fl x
+are specified in the same command, then
+.Nm
+will use the one which was specified last.
+.El
+.Pp
+A complete list of the available keywords is given below.
+Some of these keywords are further specified as follows:
+.Bl -tag -width lockname
+.It Cm %cpu
+The CPU utilization 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
+(some processes may be very young),
+it is possible for the sum of all
+.Cm %cpu
+fields to exceed 100%.
+.It Cm %mem
+The percentage of real memory used by this process.
+.It Cm flags
+The flags associated with the process as in
+the include file
+.In sys/proc.h :
+.Bl -column P_STOPPED_SINGLE 0x4000000
+.It Dv "P_ADVLOCK" Ta No "0x00001 Process may hold a POSIX advisory lock"
+.It Dv "P_CONTROLT" Ta No "0x00002 Has a controlling terminal"
+.It Dv "P_LP64" Ta No "0x00004 Process is LP64"
+.It Dv "P_NOCLDSTOP" Ta No "0x00008 No SIGCHLD when children stop"
+.It Dv "P_PPWAIT" Ta No "0x00010 Parent is waiting for child to exec/exit"
+.It Dv "P_PROFIL" Ta No "0x00020 Has started profiling"
+.It Dv "P_SELECT" Ta No "0x00040 Selecting; wakeup/waiting danger"
+.It Dv "P_CONTINUED" Ta No "0x00080 Process was stopped and continued"
+.It Dv "P_SUGID" Ta No "0x00100 Had set id privileges since last exec"
+.It Dv "P_SYSTEM" Ta No "0x00200 System proc: no sigs, stats or swapping"
+.It Dv "P_TIMEOUT" Ta No "0x00400 Timing out during sleep"
+.It Dv "P_TRACED" Ta No "0x00800 Debugged process being traced"
+.It Dv "P_WAITED" Ta No "0x01000 Debugging process has waited for child"
+.It Dv "P_WEXIT" Ta No "0x02000 Working on exiting"
+.It Dv "P_EXEC" Ta No "0x04000 Process called exec"
+.It Dv "P_OWEUPC" Ta No "0x08000 Owe process an addupc() call at next ast"
+.It Dv "P_WAITING" Ta No "0x40000 Process has a wait() in progress"
+.It Dv "P_KDEBUG" Ta No "0x80000 Kdebug tracing on for this process"
+.El
+.It Cm lim
+The soft limit on memory used, specified via a call to
+.Xr setrlimit 2 .
+.It Cm lstart
+The exact time the command started, using the
+.Ql %c
+format described in
+.Xr strftime 3 .
+.It Cm nice
+The process scheduling increment (see
+.Xr setpriority 2 ) .
+.It Cm rss
+the real memory (resident set) size of the process (in 1024 byte units).
+.It Cm start
+The time the command started.
+If the command started less than 24 hours ago, the start time is
+displayed using the
+.Dq Li %l:ps.1p
+format described in
+.Xr strftime 3 .
+If the command started less than 7 days ago, the start time is
+displayed using the
+.Dq Li %a6.15p
+format.
+Otherwise, the start time is displayed using the
+.Dq Li %e%b%y
+format.
+.It Cm state
+The state is given by a sequence of characters, for example,
+.Dq Li RWNA .
+The first character indicates the run state of the process:
+.Pp
+.Bl -tag -width indent -compact
+.It Li I
+Marks a process that is idle (sleeping for longer than about 20 seconds).
+.It Li R
+Marks a runnable process.
+.It Li S
+Marks a process that is sleeping for less than about 20 seconds.
+.It Li T
+Marks a stopped process.
+.It Li U
+Marks a process in uninterruptible wait.
+.It Li Z
+Marks a dead process (a
+.Dq zombie ) .
+.El
+.Pp
+Additional characters after these, if any, indicate additional state
+information:
+.Pp
+.Bl -tag -width indent -compact
+.It Li +
+The process is in the foreground process group of its control terminal.
+.It Li <
+The process has raised CPU scheduling priority.
+.It Li >
+The process has specified a soft limit on memory requirements and is
+currently exceeding that limit; such a process is (necessarily) not
+swapped.
+.It Li A
+the process has asked for random page replacement
+.Pf ( Dv VA_ANOM ,
+from
+.Xr vadvise 2 ,
+for example,
+.Xr lisp 1
+in a garbage collect).
+.It Li E
+The process is trying to exit.
+.It Li L
+The process has pages locked in core (for example, for raw
+.Tn I/O ) .
+.It Li N
+The process has reduced CPU scheduling priority (see
+.Xr setpriority 2 ) .
+.It Li S
+The process has asked for
+.Tn FIFO
+page replacement
+.Pf ( Dv VA_SEQL ,
+from
+.Xr vadvise 2 ,
+for example, a large image processing program using virtual memory to
+sequentially address voluminous data).
+.It Li s
+The process is a session leader.
+.It Li V
+The process is suspended during a
+.Xr vfork 2 .
+.It Li W
+The process is swapped out.
+.It Li X
+The process is being traced or debugged.
+.El
+.It Cm tt
+An abbreviation for the pathname of the controlling terminal, if any.
+The abbreviation consists of the three letters following
+.Pa /dev/tty ,
+or, for the console,
+.Dq Li con .
+This is followed by a
+.Ql -
+if the process can no longer reach that
+controlling terminal (i.e., it has been revoked).
+.It Cm 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.
+.El
+.Pp
+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
+.Dq Li <defunct> ,
+and a process which is blocked while trying
+to exit is listed as
+.Dq Li <exiting> .
+If the arguments cannot be located (usually because it has not been set, as is
+the case of system processes and/or kernel threads) the command name is printed
+within square brackets.
+The process can change the arguments shown with
+.Xr setproctitle 3 .
+Otherwise,
+.Nm
+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 (accounting) keyword can, however, 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.
+.Sh KEYWORDS
+The following is a complete list of the available keywords and their
+meanings.
+Several of them have aliases (keywords which are synonyms).
+.Pp
+.Bl -tag -width ".Cm sigignore" -compact
+.It Cm %cpu
+percentage CPU usage (alias
+.Cm pcpu )
+.It Cm %mem
+percentage memory usage (alias
+.Cm pmem )
+.It Cm acflag
+accounting flag (alias
+.Cm acflg )
+.It Cm args
+command and arguments
+.It Cm comm
+command
+.It Cm command
+command and arguments
+.It Cm cpu
+short-term CPU usage factor (for scheduling)
+.It Cm etime
+elapsed running time
+.It Cm flags
+the process flags, in hexadecimal (alias
+.Cm f )
+.It Cm gid
+processes group id (alias
+.Cm group )
+.It Cm inblk
+total blocks read (alias
+.Cm inblock )
+.It Cm jobc
+job control count
+.It Cm ktrace
+tracing flags
+.It Cm ktracep
+tracing vnode
+.It Cm lim
+memoryuse limit
+.It Cm logname
+login name of user who started the session
+.It Cm lstart
+time started
+.It Cm majflt
+total page faults
+.It Cm minflt
+total page reclaims
+.It Cm msgrcv
+total messages received (reads from pipes/sockets)
+.It Cm msgsnd
+total messages sent (writes on pipes/sockets)
+.It Cm nice
+nice value (alias
+.Cm ni )
+.It Cm nivcsw
+total involuntary context switches
+.It Cm nsigs
+total signals taken (alias
+.Cm nsignals )
+.It Cm nswap
+total swaps in/out
+.It Cm nvcsw
+total voluntary context switches
+.It Cm nwchan
+wait channel (as an address)
+.It Cm oublk
+total blocks written (alias
+.Cm oublock )
+.It Cm p_ru
+resource usage (valid only for zombie)
+.It Cm paddr
+swap address
+.It Cm pagein
+pageins (same as majflt)
+.It Cm pgid
+process group number
+.It Cm pid
+process ID
+.It Cm ppid
+parent process ID
+.It Cm pri
+scheduling priority
+.It Cm re
+core residency time (in seconds; 127 = infinity)
+.It Cm rgid
+real group ID
+.It Cm rss
+resident set size
+.It Cm ruid
+real user ID
+.It Cm ruser
+user name (from ruid)
+.It Cm sess
+session ID
+.It Cm sig
+pending signals (alias
+.Cm pending )
+.It Cm sigmask
+blocked signals (alias
+.Cm blocked )
+.It Cm sl
+sleep time (in seconds; 127 = infinity)
+.It Cm start
+time started
+.It Cm state
+symbolic process state (alias
+.Cm stat )
+.It Cm svgid
+saved gid from a setgid executable
+.It Cm svuid
+saved UID from a setuid executable
+.It Cm tdev
+control terminal device number
+.It Cm time
+accumulated CPU time, user + system (alias
+.Cm cputime )
+.It Cm tpgid
+control terminal process group ID
+.\".It Cm trss
+.\"text resident set size (in Kbytes)
+.It Cm tsess
+control terminal session ID
+.It Cm tsiz
+text size (in Kbytes)
+.It Cm tt
+control terminal name (two letter abbreviation)
+.It Cm tty
+full name of control terminal
+.It Cm ucomm
+name to be used for accounting
+.It Cm uid
+effective user ID
+.It Cm upr
+scheduling priority on return from system call (alias
+.Cm usrpri )
+.It Cm user
+user name (from UID)
+.It Cm utime
+user CPU time (alias
+.Cm putime )
+.It Cm vsz
+virtual size in Kbytes (alias
+.Cm vsize )
+.It Cm wchan
+wait channel (as a symbolic name)
+.It Cm wq
+total number of workqueue threads
+.It Cm wqb
+number of blocked workqueue threads
+.It Cm wqr
+number of running workqueue threads
+.It Cm wql
+workqueue limit status (C = constrained thread limit, T = total thread limit)
+.It Cm xstat
+exit or stop status (valid only for stopped or zombie process)
+.El
+.Sh ENVIRONMENT
+The following environment variables affect the execution of
+.Nm :
+.Bl -tag -width ".Ev COLUMNS"
+.It Ev COLUMNS
+If set, specifies the user's preferred output width in column positions.
+By default,
+.Nm
+attempts to automatically determine the terminal width.
+.El
+.Sh FILES
+.Bl -tag -width ".Pa /boot/kernel/kernel" -compact
+.It Pa /dev
+special files and device names
+.It Pa /var/run/dev.db
+/dev name database
+.It Pa /var/db/kvm_kernel.db
+system namelist database
+.El
+.Sh LEGACY DESCRIPTION
+In legacy mode,
+.Nm
+functions as described above, with the following differences:
+.Bl -tag -width indent
+.It Fl e
+Display the environment as well. Same as
+.Fl E .
+.It Fl g
+Ignored for compatibility. Takes no argument.
+.It Fl l
+Display information associated with the following keywords:
+.Cm uid , pid , ppid , cpu , pri , nice , vsz , rss , wchan , state ,
+.Cm tt, time ,
+and
+.Cm command .
+.It Fl u
+Display information associated with the following keywords:
+.Cm user , pid , %cpu , %mem , vsz , rss , tt , state , start , time ,
+and
+.Cm command .
+The
+.Fl u
+option implies the
+.Fl r
+option.
+.El
+.Pp
+The biggest change is in the interpretation of the
+.Fl u
+option,
+which now displays processes belonging to the specified username(s).
+Thus, "ps -aux" will fail (unless you want to know about user "x").
+As a convenience, however, "ps aux" still works as it did in Tiger.
+.Pp
+For more information about legacy mode, see
+.Xr compat 5 .
+.Sh SEE ALSO
+.Xr kill 1 ,
+.Xr w 1 ,
+.Xr kvm 3 ,
+.Xr strftime 3 ,
+.Xr sysctl 8
+.Sh STANDARDS
+The
+.Nm
+utility supports the
+.St -susv3
+standard.
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.At v4 .
+.Sh BUGS
+Since
+.Nm
+cannot run faster than the system and is run as any other scheduled
+process, the information it displays can never be exact.
+.Pp
+The
+.Nm
+utility does not correctly display argument lists containing multibyte
+characters.