Permalink
Browse files

OpenBSD 2.6

  • Loading branch information...
1 parent 6fbb321 commit 7e2df16751ae13fdbeeeea7f6a337ed084beb2b3 itojun committed Jan 17, 2000
@@ -0,0 +1,14 @@
+# $OpenBSD: Makefile,v 1.5 1999/06/23 12:56:18 art Exp $
+
+PROG= fstat
+DPADD= ${LIBKVM}
+SRCS= fstat.c isofs.c
+LDADD= -lkvm
+BINGRP= kmem
+BINMODE=2555
+
+.include <bsd.prog.mk>
+
+.if (${UVM} == "yes")
+CFLAGS+=-DUVM
+.endif
@@ -0,0 +1,242 @@
+.\" $OpenBSD: fstat.1,v 1.14 1999/10/17 20:24:34 aaron Exp $
+.\" Copyright (c) 1987, 1991, 1993
+.\" 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.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 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.
+.\"
+.\" from: @(#)fstat.1 8.3 (Berkeley) 2/25/94
+.\"
+.Dd February 25, 1994
+.Dt FSTAT 1
+.Os
+.Sh NAME
+.Nm fstat
+.Nd file status
+.Sh SYNOPSIS
+.Nm fstat
+.Op Fl fnv
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl p Ar pid
+.Op Fl u Ar user
+.Op Ar filename...
+.Sh DESCRIPTION
+.Nm fstat
+identifies open files.
+A file is considered open by a process if it was explicitly opened,
+is the working directory, root directory, active pure text, or kernel
+trace file for that process.
+If no options are specified,
+.Nm fstat
+reports on all open files in the system.
+.Pp
+The options are as follows:
+.Bl -tag -width Ds
+.It Fl f
+Restrict examination to files open in the same filesystems as
+the named file arguments, or to the filesystem containing the
+current directory if there are no additional filename arguments.
+For example, to find all files open in the filesystem where the
+directory
+.Pa /usr/src
+resides, type
+.Dq Li fstat -f /usr/src .
+.It Fl M Ar core
+Extract values associated with the name list from the specified core
+instead of the default
+.Pa /dev/kmem .
+.It Fl N Ar system
+Extract the name list from the specified system instead of the default
+.Pa /bsd .
+.It Fl n
+Numerical format. Print the device number (maj,min) of the filesystem
+the file resides in rather than the mount point name; for special
+files, print the
+device number that the special device refers to rather than the filename
+in
+.Pa /dev ;
+and print the mode of the file in octal instead of symbolic form.
+.It Fl p pid
+Report all files open by the specified process.
+.It Fl u user
+Report all files open by the specified user.
+.It Fl v
+Verbose mode. Print error messages upon failures to locate particular
+system data structures rather than silently ignoring them. Most of
+these data structures are dynamically created or deleted and it is
+possible for them to disappear while
+.Nm fstat
+is running. This
+is normal and unavoidable since the rest of the system is running while
+.Nm fstat
+itself is running.
+.It Ar filename ...
+Restrict reports to the specified files.
+.El
+.Pp
+The following fields are printed:
+.Bl -tag -width MOUNT
+.It Li USER
+The username of the owner of the process (effective UID).
+.It Li CMD
+The command name of the process.
+.It Li PID
+The process ID.
+.It Li FD
+The file number in the per-process open file table or one of the following
+special names:
+.Pp
+.Bd -literal -ragged -offset indent -compact
+text - pure text inode
+wd - current working directory
+root - root inode
+tr - kernel trace file
+.Ed
+.Pp
+If the file number is followed by an asterisk (``*''), the file is
+not an inode, but rather a socket,
+.Tn FIFO ,
+or there is an error.
+In this case the remainder of the line doesn't
+correspond to the remaining headers -- the format of the line
+is described later under
+.Sx Sockets .
+.It Li MOUNT
+If the
+.Fl n
+flag wasn't specified, this header is present and is the
+pathname that the filesystem the file resides in is mounted on.
+.It Li DEV
+If the
+.Fl n
+flag is specified, this header is present and is the
+major/minor number of the device that this file resides in.
+.It Li INUM
+The inode number of the file.
+.It Li MODE
+The mode of the file. If the
+.Fl n
+flag isn't specified, the mode is printed
+using a symbolic format (see
+.Xr strmode 3 ) ;
+otherwise, the mode is printed
+as an octal number.
+.It Li SZ\&|DV
+If the file is not a character or block special file, prints the size of
+the file in bytes. Otherwise, if the
+.Fl n
+flag is not specified, prints
+the name of the special file as located in
+.Pa /dev .
+If that cannot be
+located, or the
+.Fl n
+flag is specified, prints the major/minor device
+number that the special device refers to.
+.It Li R/W
+This column describes the access mode that the file allows.
+The letter ``r'' indicates open for reading;
+the letter ``w'' indicates open for writing.
+This field is useful when trying to find the processes that are
+preventing a filesystem from being downgraded to read-only.
+.It Li NAME
+If filename arguments are specified and the
+.Fl f
+flag is not, then
+this field is present and is the name associated with the given file.
+Normally the name cannot be determined since there is no mapping
+from an open file back to the directory entry that was used to open
+that file. Also, since different directory entries may reference
+the same file (via
+.Xr ln 2 ) ,
+the name printed may not be the actual
+name that the process originally used to open that file.
+.El
+.Sh SOCKETS
+The formatting of open sockets depends on the protocol domain.
+In all cases the first field is the domain name, the second field
+is the socket type (stream, dgram, etc), and the third is the socket
+flags field (in hex).
+The remaining fields are protocol dependent.
+For TCP, it is the address of the tcpcb, and for UDP, the inpcb (socket pcb).
+For Unix domain sockets, it's the address of the socket pcb and the address
+of the connected pcb (if connected).
+Otherwise the protocol number and address of the socket itself are printed.
+The attempt is to make enough information available to
+permit further analysis without duplicating
+.Xr netstat 1 .
+.Pp
+For example, the addresses mentioned above are the addresses which the
+.Dq Li netstat -A
+command would print for TCP, UDP, and Unix domain.
+Note that since pipes are implemented using sockets, a pipe appears as a
+connected Unix domain stream socket.
+A unidirectional Unix domain socket indicates the direction of flow with
+an arrow (``<-'' or ``->''), and a full duplex socket shows a double arrow
+(``<->'').
+.Pp
+For AF_INET sockets,
+.Nm fstat
+also attempts to print the internet address and port for the
+local end of a connection.
+If the socket is connected, it also prints the remote internet address
+and port.
+A ``*'' is used to indicate an INADDR_ANY binding. In this case, the
+use of the arrow (``<--'' or ``-->'') indicates the direction the socket
+connection was created.
+.Sh PIPES
+Every pipe is printed as an address which is the same for both sides of
+the pipe and a state that is built of the letters 'RWE'.
+W - The pipe blocks waiting for the reader to read data.
+R - The pipe blocks waiting for the writer to write data.
+E - The pipe is in EOF state.
+.Sh BUGS
+Since
+.Nm fstat
+takes a snapshot of the system, it is only correct for a very short period
+of time.
+.Pp
+Moreover, because DNS resolution and YP lookups cause many file
+descriptor changes,
+.Nm fstat
+does not attempt to translate the internet address and port numbers into
+symbolic names.
+.Sh SEE ALSO
+.Xr netstat 1 ,
+.Xr nfsstat 1 ,
+.Xr ps 1 ,
+.Xr systat 1 ,
+.Xr iostat 8 ,
+.Xr pstat 8 ,
+.Xr vmstat 8
+.Sh HISTORY
+The
+.Nm
+command appeared in
+.Bx 4.3 tahoe .
Oops, something went wrong.

0 comments on commit 7e2df16

Please sign in to comment.