Permalink
Browse files

NetBSD 1.4.1

  • Loading branch information...
1 parent 3445633 commit c016e0d216f2175ddc867def32dfa6c8a8ced4a7 itojun committed Jan 16, 2000
Showing with 1,226 additions and 0 deletions.
  1. +16 −0 netbsd/usr.bin/fstat/Makefile
  2. +260 −0 netbsd/usr.bin/fstat/fstat.1
  3. +798 −0 netbsd/usr.bin/fstat/fstat.c
  4. +55 −0 netbsd/usr.bin/fstat/fstat.h
  5. +97 −0 netbsd/usr.bin/fstat/isofs.c
@@ -0,0 +1,16 @@
+# $NetBSD: Makefile,v 1.12 1999/03/24 05:51:31 mrg Exp $
+# from: @(#)Makefile 8.1 (Berkeley) 6/6/93
+
+PROG= fstat
+SRCS= fstat.c isofs.c
+DPADD= ${LIBKVM}
+LDADD= -lkvm
+BINGRP= kmem
+BINMODE=2555
+
+.include <bsd.prog.mk>
+
+# XXX
+.if defined(PMAP_NEW)
+CPPFLAGS+= -DPMAP_NEW
+.endif
@@ -0,0 +1,260 @@
+.\" $NetBSD: fstat.1,v 1.14 1999/03/22 18:16:37 garbled 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
+.\" $NetBSD: fstat.1,v 1.14 1999/03/22 18:16:37 garbled Exp $
+.\"
+.Dd February 18, 1999
+.Dt FSTAT 1
+.Os
+.Sh NAME
+.Nm fstat
+.Nd file status
+.Sh SYNOPSIS
+.Nm
+.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
+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
+reports on all open files in the system.
+.Pp
+Options:
+.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
+Extract values associated with the name list from the specified core
+instead of the default
+.Pa /dev/kmem .
+.It Fl N
+Extract the name list from the specified system instead of the default
+.Pa /netbsd .
+.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
+Report all files open by the specified process.
+.It Fl u
+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
+is running. This
+is normal and unavoidable since the rest of the system is running while
+.Nm
+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
+.Bl -tag -width MOUNT -offset -indent -compact
+.It Li text
+pure text inode
+.It Li wd
+current working directory
+.It Li root
+root inode
+.It Li tr
+kernel trace file
+.El
+.Pp
+If the file number is followed by an asterisk
+.Pq Dq * ,
+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
+.Dq r
+indicates open for reading;
+the letter
+.Dq
+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 1 ) ,
+the name printed may not be the actual
+name that the process originally used to open that file.
+.El
+.Sh SOCKETS
+The formating 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
+.Ux
+domain sockets, its 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
+.Ux
+domain.
+Note that since pipes are implemented using sockets, a pipe appears as a
+connected
+.Ux
+domain stream socket.
+A unidirectional
+.Ux
+domain socket indicates the direction of flow with an arrow
+.Po
+.Dq <-
+or
+.Dq ->
+.Pc ,
+and a full duplex socket shows a double arrow
+.Pq Dq <-> .
+.Pp
+For internet 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
+.Pq Dq *
+is used to indicate an INADDR_ANY binding.
+.Sh BUGS
+Since
+.Nm
+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
+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 c016e0d

Please sign in to comment.