19b50d902SRodney W. Grimes.\" Copyright (c) 1987, 1991, 1993 29b50d902SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 39b50d902SRodney W. Grimes.\" 49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions 69b50d902SRodney W. Grimes.\" are met: 79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 89b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 109b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 119b50d902SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors 139b50d902SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 149b50d902SRodney W. Grimes.\" without specific prior written permission. 159b50d902SRodney W. Grimes.\" 169b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 179b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 189b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 199b50d902SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 209b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 219b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 229b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 239b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 249b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 259b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 269b50d902SRodney W. Grimes.\" SUCH DAMAGE. 279b50d902SRodney W. Grimes.\" 289b50d902SRodney W. Grimes.\" @(#)fstat.1 8.3 (Berkeley) 2/25/94 29c3aac50fSPeter Wemm.\" $FreeBSD$ 309b50d902SRodney W. Grimes.\" 3191ad311bSJeremie Le Hen.Dd October 19, 2019 329b50d902SRodney W. Grimes.Dt FSTAT 1 3362500372SRuslan Ermilov.Os 349b50d902SRodney W. Grimes.Sh NAME 359b50d902SRodney W. Grimes.Nm fstat 3690eca7b6SGarrett Wollman.Nd identify active files 379b50d902SRodney W. Grimes.Sh SYNOPSIS 388fe908efSRuslan Ermilov.Nm 3991ad311bSJeremie Le Hen.Op Fl fmnsv 409b50d902SRodney W. Grimes.Op Fl M Ar core 419b50d902SRodney W. Grimes.Op Fl N Ar system 429b50d902SRodney W. Grimes.Op Fl p Ar pid 439b50d902SRodney W. Grimes.Op Fl u Ar user 4491966d21SPhilippe Charnier.Op Ar 459b50d902SRodney W. Grimes.Sh DESCRIPTION 46e8937ba0SPhilippe CharnierThe 47e8937ba0SPhilippe Charnier.Nm 48e8937ba0SPhilippe Charnierutility identifies open files. 499b50d902SRodney W. GrimesA file is considered open by a process if it was explicitly opened, 506b020622SPoul-Henning Kampis the working directory, root directory, jail root directory, 516b020622SPoul-Henning Kampactive executable text, or kernel trace file for that process. 529b50d902SRodney W. GrimesIf no options are specified, 538fe908efSRuslan Ermilov.Nm 549b50d902SRodney W. Grimesreports on all open files in the system. 559b50d902SRodney W. Grimes.Pp 562a00e8eaSPhilippe CharnierThe following options are available: 572a00e8eaSPhilippe Charnier.Bl -tag -width indent 589b50d902SRodney W. Grimes.It Fl f 599b50d902SRodney W. GrimesRestrict examination to files open in the same file systems as 609b50d902SRodney W. Grimesthe named file arguments, or to the file system containing the 619b50d902SRodney W. Grimescurrent directory if there are no additional filename arguments. 629b50d902SRodney W. GrimesFor example, to find all files open in the file system where the 639b50d902SRodney W. Grimesdirectory 649b50d902SRodney W. Grimes.Pa /usr/src 659b50d902SRodney W. Grimesresides, type 669b50d902SRodney W. Grimes.Dq Li fstat -f /usr/src . 679b50d902SRodney W. Grimes.It Fl M 689b50d902SRodney W. GrimesExtract values associated with the name list from the specified core 699b50d902SRodney W. Grimesinstead of the default 709b50d902SRodney W. Grimes.Pa /dev/kmem . 719b50d902SRodney W. Grimes.It Fl N 72376d460cSRuslan ErmilovExtract the name list from the specified system instead of the default, 73376d460cSRuslan Ermilovwhich is the kernel image the system has booted from. 74d0482be8SBrian Feldman.It Fl m 75d0482be8SBrian FeldmanInclude memory-mapped files in the listing; normally these are excluded 76d0482be8SBrian Feldmandue to the extra processing required. 779b50d902SRodney W. Grimes.It Fl n 786a3e8b0aSRuslan ErmilovNumerical format. 796a3e8b0aSRuslan ErmilovPrint the device number (maj,min) of the file system 809b50d902SRodney W. Grimesthe file resides in rather than the mount point name; for special 819b50d902SRodney W. Grimesfiles, print the 829b50d902SRodney W. Grimesdevice number that the special device refers to rather than the filename 839b50d902SRodney W. Grimesin 849b50d902SRodney W. Grimes.Pa /dev ; 859b50d902SRodney W. Grimesand print the mode of the file in octal instead of symbolic form. 869b50d902SRodney W. Grimes.It Fl p 879b50d902SRodney W. GrimesReport all files open by the specified process. 8891ad311bSJeremie Le Hen.It Fl s 8991ad311bSJeremie Le HenPrint socket endpoint information. 909b50d902SRodney W. Grimes.It Fl u 919b50d902SRodney W. GrimesReport all files open by the specified user. 929b50d902SRodney W. Grimes.It Fl v 936a3e8b0aSRuslan ErmilovVerbose mode. 946a3e8b0aSRuslan ErmilovPrint error messages upon failures to locate particular 956a3e8b0aSRuslan Ermilovsystem data structures rather than silently ignoring them. 966a3e8b0aSRuslan ErmilovMost of 979b50d902SRodney W. Grimesthese data structures are dynamically created or deleted and it is 989b50d902SRodney W. Grimespossible for them to disappear while 998fe908efSRuslan Ermilov.Nm 1006a3e8b0aSRuslan Ermilovis running. 1016a3e8b0aSRuslan ErmilovThis 1029b50d902SRodney W. Grimesis normal and unavoidable since the rest of the system is running while 1038fe908efSRuslan Ermilov.Nm 1049b50d902SRodney W. Grimesitself is running. 10591966d21SPhilippe Charnier.It Ar 1069b50d902SRodney W. GrimesRestrict reports to the specified files. 1079b50d902SRodney W. Grimes.El 1089b50d902SRodney W. Grimes.Pp 1099b50d902SRodney W. GrimesThe following fields are printed: 1109b50d902SRodney W. Grimes.Bl -tag -width MOUNT 1119b50d902SRodney W. Grimes.It Li USER 1129b50d902SRodney W. GrimesThe username of the owner of the process (effective uid). 1139b50d902SRodney W. Grimes.It Li CMD 1149b50d902SRodney W. GrimesThe command name of the process. 1159b50d902SRodney W. Grimes.It Li PID 1169b50d902SRodney W. GrimesThe process id. 1179b50d902SRodney W. Grimes.It Li FD 1189b50d902SRodney W. GrimesThe file number in the per-process open file table or one of the following 1199b50d902SRodney W. Grimesspecial names: 1209b50d902SRodney W. Grimes.Pp 1219b88faecSRuslan Ermilov.Bd -literal -offset indent -compact 1226b020622SPoul-Henning Kampjail - jail root directory 123d0482be8SBrian Feldmanmmap - memory-mapped file 1246b020622SPoul-Henning Kamproot - root inode 1256b020622SPoul-Henning Kamptext - executable text inode 1266b020622SPoul-Henning Kamptr - kernel trace file 1276b020622SPoul-Henning Kampwd - current working directory 1289b50d902SRodney W. Grimes.Ed 1299b50d902SRodney W. Grimes.Pp 1309b50d902SRodney W. GrimesIf the file number is followed by an asterisk (``*''), the file is 1319b50d902SRodney W. Grimesnot an inode, but rather a socket, 1329b50d902SRodney W. Grimes.Tn FIFO , 1339b50d902SRodney W. Grimesor there is an error. 1340227791bSRuslan ErmilovIn this case the remainder of the line does not 1359b50d902SRodney W. Grimescorrespond to the remaining headers -- the format of the line 1369b50d902SRodney W. Grimesis described later under 1376e679990SPawel Jakub Dawidek.Sx SOCKETS . 1389b50d902SRodney W. Grimes.It Li MOUNT 1399b50d902SRodney W. GrimesIf the 1409b50d902SRodney W. Grimes.Fl n 1410227791bSRuslan Ermilovflag was not specified, this header is present and is the 1429b50d902SRodney W. Grimespathname that the file system the file resides in is mounted on. 1439b50d902SRodney W. Grimes.It Li DEV 1449b50d902SRodney W. GrimesIf the 1459b50d902SRodney W. Grimes.Fl n 1469b50d902SRodney W. Grimesflag is specified, this header is present and is the 1479f365aa1SEd Schoutennumber of the device that this file resides in. 1489b50d902SRodney W. Grimes.It Li INUM 1499b50d902SRodney W. GrimesThe inode number of the file. 1509b50d902SRodney W. Grimes.It Li MODE 1516a3e8b0aSRuslan ErmilovThe mode of the file. 1526a3e8b0aSRuslan ErmilovIf the 1539b50d902SRodney W. Grimes.Fl n 1540227791bSRuslan Ermilovflag is not specified, the mode is printed 1559b50d902SRodney W. Grimesusing a symbolic format (see 1569b50d902SRodney W. Grimes.Xr strmode 3 ) ; 1579b50d902SRodney W. Grimesotherwise, the mode is printed 1589b50d902SRodney W. Grimesas an octal number. 1599b50d902SRodney W. Grimes.It Li SZ\&|DV 160958aa575SJohn BaldwinIf the file is a semaphore, 161958aa575SJohn Baldwinprints the current value of the semaphore. 1629b50d902SRodney W. GrimesIf the file is not a character or block special, prints the size of 1636a3e8b0aSRuslan Ermilovthe file in bytes. 1646a3e8b0aSRuslan ErmilovOtherwise, if the 1659b50d902SRodney W. Grimes.Fl n 1669b50d902SRodney W. Grimesflag is not specified, prints 1679b50d902SRodney W. Grimesthe name of the special file as located in 1689b50d902SRodney W. Grimes.Pa /dev . 1699b50d902SRodney W. GrimesIf that cannot be 1709b50d902SRodney W. Grimeslocated, or the 1719b50d902SRodney W. Grimes.Fl n 1729b50d902SRodney W. Grimesflag is specified, prints the major/minor device 1739b50d902SRodney W. Grimesnumber that the special device refers to. 1749b50d902SRodney W. Grimes.It Li R/W 1759b50d902SRodney W. GrimesThis column describes the access mode that the file allows. 1769b50d902SRodney W. GrimesThe letter ``r'' indicates open for reading; 1779b50d902SRodney W. Grimesthe letter ``w'' indicates open for writing. 1789b50d902SRodney W. GrimesThis field is useful when trying to find the processes that are 1799b50d902SRodney W. Grimespreventing a file system from being down graded to read-only. 1809b50d902SRodney W. Grimes.It Li NAME 1819b50d902SRodney W. GrimesIf filename arguments are specified and the 1829b50d902SRodney W. Grimes.Fl f 1839b50d902SRodney W. Grimesflag is not, then 1849b50d902SRodney W. Grimesthis field is present and is the name associated with the given file. 1859b50d902SRodney W. GrimesNormally the name cannot be determined since there is no mapping 1869b50d902SRodney W. Grimesfrom an open file back to the directory entry that was used to open 1876a3e8b0aSRuslan Ermilovthat file. 1886a3e8b0aSRuslan ErmilovAlso, since different directory entries may reference 1899b50d902SRodney W. Grimesthe same file (via 190906c1e27SMike Pritchard.Xr ln 1 ) , 1919b50d902SRodney W. Grimesthe name printed may not be the actual 1929b50d902SRodney W. Grimesname that the process originally used to open that file. 1939b50d902SRodney W. Grimes.El 1949b50d902SRodney W. Grimes.Sh SOCKETS 195f6ac2391SJoel DahlThe formatting of open sockets depends on the protocol domain. 1969b50d902SRodney W. GrimesIn all cases the first field is the domain name, the second field 1979b50d902SRodney W. Grimesis the socket type (stream, dgram, etc), and the third is the socket 1989b50d902SRodney W. Grimesflags field (in hex). 1999b50d902SRodney W. GrimesThe remaining fields are protocol dependent. 2009b50d902SRodney W. GrimesFor tcp, it is the address of the tcpcb, and for udp, the inpcb (socket pcb). 2019b50d902SRodney W. GrimesFor unix domain sockets, its the address of the socket pcb and the address 2029b50d902SRodney W. Grimesof the connected pcb (if connected). 2039b50d902SRodney W. GrimesOtherwise the protocol number and address of the socket itself are printed. 2049b50d902SRodney W. Grimes.Pp 2059b50d902SRodney W. GrimesFor example, the addresses mentioned above are the addresses which the 2069b50d902SRodney W. Grimes.Dq Li netstat -A 2079b50d902SRodney W. Grimescommand would print for tcp, udp, and unixdomain. 2089b50d902SRodney W. GrimesNote that since pipes are implemented using sockets, a pipe appears as a 2099b50d902SRodney W. Grimesconnected unix domain stream socket. 2109b50d902SRodney W. GrimesA unidirectional unix domain socket indicates the direction of flow with 2119b50d902SRodney W. Grimesan arrow (``<-'' or ``->''), and a full duplex socket shows a double arrow 2129b50d902SRodney W. Grimes(``<->''). 21391ad311bSJeremie Le Hen.Pp 21491ad311bSJeremie Le HenWhen the 21591ad311bSJeremie Le Hen.Fl s 21691ad311bSJeremie Le Henflag is used, socket endpoint information is shown after the address of the 21791ad311bSJeremie Le Hensocket. 218*6f42902dSJeremie Le HenFor internet sockets the local and remote addresses are shown, separated with 21991ad311bSJeremie Le Hena double arrow (``<->''). 22091ad311bSJeremie Le HenFor unix/local sockets either the local or remote address is shown, depending 22191ad311bSJeremie Le Henon which one is available. 2229b50d902SRodney W. Grimes.Sh SEE ALSO 2239b50d902SRodney W. Grimes.Xr netstat 1 , 2249b50d902SRodney W. Grimes.Xr nfsstat 1 , 225e5002279SEdward Tomasz Napierala.Xr procstat 1 , 2269b50d902SRodney W. Grimes.Xr ps 1 , 2275ff829fdSSheldon Hearn.Xr sockstat 1 , 2289b50d902SRodney W. Grimes.Xr systat 1 , 2295ff829fdSSheldon Hearn.Xr tcp 4 , 2305ff829fdSSheldon Hearn.Xr unix 4 , 2319b50d902SRodney W. Grimes.Xr iostat 8 , 232270d3d75SMike Pritchard.Xr pstat 8 , 233270d3d75SMike Pritchard.Xr vmstat 8 2349b50d902SRodney W. Grimes.Sh HISTORY 2359b50d902SRodney W. GrimesThe 2369b50d902SRodney W. Grimes.Nm 2379b50d902SRodney W. Grimescommand appeared in 2389b50d902SRodney W. Grimes.Bx 4.3 tahoe . 2396c7216dfSRuslan Ermilov.Sh BUGS 2406c7216dfSRuslan ErmilovSince 2416c7216dfSRuslan Ermilov.Nm 2426c7216dfSRuslan Ermilovtakes a snapshot of the system, it is only correct for a very short period 2436c7216dfSRuslan Ermilovof time. 244