freebsd-dev/usr.bin/procstat/procstat.1
Robert Watson 3d91be41d1 Add procstat(1), a process inspection utility. This provides both some
of the missing functionality from procfs(4) and new functionality for
monitoring and debugging specific processes.  procstat(1) operates in
the following modes:

  -b  Display binary information for the process.
  -c  Display command line arguments for the process.
  -f  Display file descriptor information for the process.
  -k  Display the stacks of kernel threads in the process.
  -s  Display security credential information for the process.
  -t  Display thread information for the process.
  -v  Display virtual memory mappings for the process.

Further revision and modes are expected.

Testing, ideas, etc:	cognet, sam, Skip Ford <skip at menantico dot com>
			Wesley Shields <wxs at atarininja dot org>
2007-12-02 23:31:45 +00:00

115 lines
3.6 KiB
Groff

.\"-
.\" Copyright (c) 2007 Robert N. M. Watson
.\" 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
.\"
.\" $FreeBSD$
.\"
.Dd October 30, 2007
.Dt PROCSTAT 1
.Os
.Sh NAME
.Nm procstat
.Nd get detailed process information
.Sh SYNOPSIS
.Nm
.Op Fl h
.Op Fl w Ar interval
.Op Fl b | c | f | k | s | t | v
.Op Fl a | Ar pid ...
.Sh DESCRIPTION
The
.Nm
utility displays detailed information about the processes identified by the
.Ar pid
arguments, or if the
.Fl a
flag is used, all processes.
.Pp
By default, basic process statistics are printed; one of the following
options may be specified in order to select more detailed process information
for printing:
.Bl -tag -width indent
.It Fl b
Display binary information for the process.
.It Fl c
Display command line arguments for the process.
.It Fl f
Display file descriptor information for the process.
.It Fl k
Display the stacks of kernel threads in the process, excluding stacks of
threads currently running on a CPU and threads with stacks swapped to disk.
If the flag is repeated, function offsets as well as function names are
printed.
This feature requires
.Cd "options STACK"
or
.Cd "options DDB"
to be compiled into the kernel.
.It Fl s
Display security credential information for the process.
.It Fl t
Display thread information for the process.
.It Fl v
Display virtual memory mappings for the process.
.El
.Pp
All options generate output in the format of a table, the first field of
which is the process ID to which the row of information corresponds.
The
.Fl h
flag may be used to suppress table headers.
.Pp
The
.Fl w
flag may be used to specify a wait interval at which to repeat the printing
of the requested process information.
If the
.Fl w
flag is not specified, the output will not repeat.
.Pp
Some information, such as VM and file descriptor information, is available
only to the owner of a process or the superuser.
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Xr fstat 1 ,
.Xr ps 1 ,
.Xr sockstat 1 ,
.Xr DDB 4 ,
.Xr stack 9
.Sh AUTHORS
.An Robert N M Watson
.Sh BUGS
Some field values may include spaces, which limits the extent to which the
output of
.Nm
may be mechanically parsed.
.Pp
The display of open file or memory mapping pathnames is implemented using the
kernel's name cache.
It therefore does not work for file systems
that do not use the name cache, such as
.Xr devfs 4 ,
or if the name is not present in the cache due to removal.