2 .\" Copyright (c) 2007-2009 Robert N. M. Watson
3 .\" All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 .Nd get detailed process information
41 .Op Fl b | c | e | f | i | j | k | l | L | r | s | S | t | v | x
42 .Op Fl a | Ar pid | Ar core ...
46 utility displays detailed information about the processes identified by the
50 flag is used, all processes.
51 It can also display information extracted from a process core file, if
52 the core file is specified as the argument.
54 By default, basic process statistics are printed; one of the following
55 options may be specified in order to select more detailed process information
57 .Bl -tag -width indent
61 in a selection of different human and machine readable formats.
64 for details on command line arguments.
66 Display binary information for the process.
68 Display command line arguments for the process.
70 Display environment variables for the process.
72 Display file descriptor information for the process.
74 Display signal pending and disposition information for the process.
76 Display signal pending and blocked information for the process's threads.
78 Display the stacks of kernel threads in the process, excluding stacks of
79 threads currently running on a CPU and threads with stacks swapped to disk.
80 If the flag is repeated, function offsets as well as function names are
83 Display resource limits for the process.
85 Display LWP info for the process pertaining to its signal driven exit.
87 Display resource usage information for the process.
89 Display security credential information for the process.
91 Display the cpuset information for the thread.
93 Display thread information for the process.
95 Display virtual memory mappings for the process.
97 Display ELF auxiliary vector for the process.
100 All options generate output in the format of a table, the first field of
101 which is the process ID to which the row of information corresponds.
104 flag may be used to suppress table headers.
108 flag may be used to specify a wait interval at which to repeat the printing
109 of the requested process information.
112 flag is not specified, the output will not repeat.
116 flag requests the printing of additional capability information in the file
121 flag may be used to request per-thread statistics rather than per-process
122 statistics for some options.
123 For those options, the second field in the table will list the thread ID
124 to which the row of information corresponds.
127 flag is implied for the
131 Information for VM, file descriptor, and cpuset options is available
132 only to the owner of a process or the superuser.
133 A cpuset value displayed as -1 means that the information is either invalid
135 .Ss Binary Information
136 Display the process ID, command, and path to the process binary:
138 .Bl -tag -width indent -compact
144 osreldate for process binary
146 path to process binary (if available)
148 .Ss Command Line Arguments
149 Display the process ID, command, and command line arguments:
151 .Bl -tag -width indent -compact
157 command line arguments (if available)
159 .Ss Environment Variables
160 Display the process ID, command, and environment variables:
162 .Bl -tag -width "ENVIRONMENT" -compact
168 environment variables (if available)
171 Display detailed information about each file descriptor referenced by a
172 process, including the process ID, command, file descriptor number, and
173 per-file descriptor object information, such as object type and file system
175 By default, the following information will be printed:
177 .Bl -tag -width indent -compact
183 file descriptor number or cwd/root/jail
189 file descriptor flags
191 file descriptor reference count
193 file descriptor offset
197 file path or socket addresses (if available)
200 The following file descriptor types may be displayed:
202 .Bl -tag -width X -compact
220 pseudo-terminal master
225 The following vnode types may be displayed:
227 .Bl -tag -width X -compact
248 The following file descriptor flags may be displayed:
250 .Bl -tag -width X -compact
271 flag is specified, the vnode type, reference count, and offset fields will be
272 omitted, and a new capabilities field will be included listing capabilities,
274 .Xr cap_rights_limit 2 ,
275 present for each capability descriptor.
277 The following network protocols may be displayed (grouped by address family):
282 .Bl -tag -width indent -compact
313 .Bl -tag -width indent -compact
326 .Bl -tag -width indent -compact
328 unknown address family.
330 .Ss Signal Disposition Information
331 Display signal pending and disposition for a process:
333 .Bl -tag -width indent -compact
341 process signal disposition details, three symbols
342 .Bl -tag -width X -compact
344 if signal is pending in the global process queue; - otherwise.
346 if signal delivery disposition is
350 if the signal will be caught; - otherwise.
356 switch is given, the signal numbers are shown instead of signal names.
357 .Ss Thread Signal Information
358 Display signal pending and blocked for a process's threads:
360 .Bl -tag -width indent -compact
370 thread signal delivery status, two symbols
371 .Bl -tag -width X -compact
373 if signal is pending for the thread, - otherwise
375 if signal is blocked in the thread signal mask, - if not blocked
381 switch has the same effect as for the
383 switch: the signal numbers are shown instead of signal names.
384 .Ss Kernel Thread Stacks
385 Display kernel thread stacks for a process, allowing further interpretation
386 of thread wait channels.
389 flag is repeated, function offsets, not just function names, are printed.
391 This feature requires
395 to be compiled into the kernel.
397 .Bl -tag -width indent -compact
407 kernel thread call stack
410 Display resource limits for a process:
412 .Bl -tag -width indent -compact
425 Display resource usage for a process.
429 resource usage for individual threads is displayed instead.
431 .Bl -tag -width "RESOURCE" -compact
448 .Ss Security Credentials
449 Display process credential information:
451 .Bl -tag -width indent -compact
469 file creation mode mask
476 The following credential flags may be displayed:
478 .Bl -tag -width X -compact
482 .Ss Thread Information
483 Display per-thread information, including process ID, per-thread ID, name,
484 CPU, and execution state:
486 .Bl -tag -width indent -compact
496 current or most recent CPU run on
504 .Ss Virtual Memory Mappings
505 Display process virtual memory mappings, including addresses, mapping
506 meta-data, and mapped object information:
508 .Bl -tag -width indent -compact
512 starting address of mapping
514 ending address of mapping
520 private resident pages
531 The following protection flags may be displayed:
533 .Bl -tag -width X -compact
542 The following VM object types may be displayed:
544 .Bl -tag -width XX -compact
554 device with managed pages
566 The following mapping flags may be displayed:
568 .Bl -tag -width X -compact
574 one or more superpage mappings are used
576 grows down (top-down stack)
578 grows up (bottom-up stack)
580 .Ss ELF Auxiliary Vector
581 Display ELF auxiliary vector values:
583 .Bl -tag -width indent -compact
589 auxiliary vector name
591 auxiliary vector value
600 .Xr cap_rights_limit 2 ,
604 .Xr xo_parse_args 3 ,
614 .An Robert N M Watson Aq Mt rwatson@FreeBSD.org .
620 .Aq Mt allanjude@FreeBSD.org .
622 The display of open file or memory mapping pathnames is implemented using the
624 If a file system does not use the name cache, or the path to a file is not in
625 the cache, a path will not be displayed.
628 currently supports extracting data only from a live kernel, and not from