.\" 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. .\" .\" @(#)fstat.1 8.3 (Berkeley) 2/25/94 .\" %FreeBSD: src/usr.bin/fstat/fstat.1,v 1.23.2.1 2005/03/17 13:26:06 phk Exp % .\" $FreeBSD$ .\" .Dd March 27, 2002 .Dt FSTAT 1 .Os .Sh 名称 .Nm fstat .Nd アクティブファイルを識別する .Sh 書式 .Nm .Op Fl fmnv .Op Fl M Ar core .Op Fl N Ar system .Op Fl p Ar pid .Op Fl u Ar user .Op Ar .Sh 解説 .Nm ユーティリティは、現在オープンされているファイルについての情報を表示します。 オープンされているファイルとは、プロセスによって明示的にオープンされている もの、ワーキングディレクトリ、ルートディレクトリ、jail ルートディレクトリ、 アクティブな実行可能テキストや、カーネルのトレースファイルなどを指します。 引数が何も与えられなければ、 .Nm はシステム中でオープンされているすべてのファイルについての情報を表示します。 .Pp 以下のオプションが利用可能です: .Bl -tag -width indent .It Fl f 表示する情報を、 .Ar filename で指定されたファイルと同じファイルシステム のものに制限します。引数が指定されていない場合は、カレントディレクトリ を含むファイルシステムのものに制限されます。たとえば、 .Pa /usr/src 以下のディレクトリでオープンされているすべてのファイルを見つけるには、 .Dq Li fstat -f /usr/src としてください。 .\" FreeBSD 2.1.0R 英語版マニュアルでは、以下で引数 core を明記していない .\" が、明らかにこれでも妥当だと考えられる。 .\" これ以降でも同様の部分がいくつか存在する。 -- jpman Sakai .\"(訳中)同様のこと確認しました。そのままにしてあります。 .\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH .It Fl M Ar core 名前に関するリストから値を取り出す際、デフォルトの .Pa /dev/kmem のかわりに .Ar core を使います。 .It Fl N 指定された system から名前リストを取り出します。 デフォルトは、システムが起動してきたカーネルイメージから取り出します。 .It Fl m メモリマップされたファイルをリストに含めます。 更なる処理が必要であるため、通常はこれらは除外されています。 .It Fl n 数値フォーマットで表示を行います。マウントポイントの名前を表示する かわりに、そのファイルシステムにおけるデバイス番号 (メジャー、マイナ) を表示します。特殊ファイルに関しては、 .Pa /dev の下のファイル名 は参照されず、特殊デバイスのデバイス番号が表示されます。また、 ファイルの属性も記号ではなく、8 進数で表示されます。 .It Fl p Ar pid 指定されたプロセス ID のプロセスによってオープンされているすべてのファイル の情報を表示します。 .It Fl u Ar user 指定されたユーザによってオープンされているすべてのファイル の情報を表示します。 .It Fl v 詳細報告モード。システムのデータ構造体を見つけるのに失敗した場合などに エラーメッセージを表示します (デフォルトでは無視します)。これらの 構造体の多くは、動的に生成されたり消去されたりするもので、 .Nm を実行中に 消えてしまう可能性があります。これは、 .Nm 実行中にも、システム の残りの部分が動いているためで、ごく普通のことですし、避けることはできません。 .It Ar 表示する情報を、指定されたファイル .Ar filename に限定します。 .El .Pp 以下のような項目が表示されます。 .Bl -tag -width MOUNT .It Li USER プロセスの所有者のユーザ名 (実効ユーザ ID のものが表示されます) .It Li CMD プロセスのコマンド名 .It Li PID プロセスID .It Li FD プロセスごとのオープンしているファイルのファイル番号、もしくは 以下の特別な名前のどれかです。 .Pp .Bd -literal -offset indent -compact jail - jail ルートディレクトリ mmap - メモリマップされたファイル root - ルートの inode text - 実行可能テキストの inode tr - カーネルトレースファイル wd - 現在のワーキングディレクトリ .Ed .Pp ファイル番号のあとにアスタリスク記号 ``*'' がある場合は、ファイルは inode ではなく、ソケットや .Tn FIFO であったり、そのファイルにエラーがあるのかもしれません。この 場合、残りの行は後ろのヘッダと一致しません。 -- 行のフォーマットは、 .Sx ソケット のところで説明します。 .It Li MOUNT .Fl n オプションが指定されていなければ、このヘッダが現れます。 マウントされているパス名は、ファイルが存在しているファイルシステムです。 .It Li DEV .Fl n が指定されると、このヘッダが現れます。ファイルが存在しているデバイス のメジャー番号とマイナ番号です。 .It Li INUM ファイルの inode 番号。 .It Li MODE ファイルのモード。 .Fl n フラグが指定されない場合、モードは記号フォーマット .Xr ( strmode 3 を参照) を使用して表示されます。 そうでなければ、モードは 8 進数として表示されます。 .It Li SZ\&|DV ファイルがキャラクタデバイスファイルやブロックデバイスファイルでなけ れば、そのファイルのバイト数を表示します。デバイスファイルであって .Fl n が 指定されていなければ、その特殊ファイルの .Pa /dev における名前を表示します。 .Pa /dev になかったり、 .Fl n が指定されていたりする と、スペシャルデバイスが参照するメジャー番号、マイナ番号を表示します。 .It Li R/W このフィールドには、ファイルのアクセス属性が表示されます。 ``r'' の場合は、ファイルが読み込みのためにオープンされていることを意味します。 ``w'' の場合は、ファイルが書き込みのためにオープンされていることを意味します。 このフィールドは、ファイルシステムを読み込み専用状態に移行する際に、 それを妨げているプロセスを見つける場合に役に立ちます。 .It Li NAME .Ar filename が指定されていて、 .Fl f が指定されていなければ、この フィールドが表示され、指定されたファイルに関連する名前が表示されます。 普通、この名前は決まったものではありません。というのも、オープンされた ファイルから、ディレクトリ中のエントリへの逆のマッピングは存在しない からです。また、異なるディレクトリエントリが同じファイルを参照してい ることもある ( .Xr ln 1 を参照) ため、表示されている名前 は、プロセスがオープンした元のファイルの実際の名前と 異なっているかもしれません。 .El .Sh ソケット オープンしているファイルのフォーマットは、プロトコルのドメインに依存します。 最初のフィールドはドメイン名で、2 番目のフィールドは ソケットの型 (stream や dgramなど)、3 番目はソケットフラグのフィールド (16 進数) です。残りのフィールドはプロトコルに依存します。tcp の場合は、 tcpcb のアドレスですし、udp の場合は inpcb (ソケット pcb) のアドレスです。 UNIX ドメインソケットの場合はソケット pcb のアドレスと (もし接続すれば) 接続先 pcb のアドレスです。それ以外の場合はプロトコル番号とソケット自身 のアドレスが表示されます。 .Xr netstat 1 と重複しない範囲で、詳しく分析するのに十分な情報を表示しようとします。 .Pp たとえば、上で述べたアドレスは .Dq Li netstat -A コマンドで表示される tcp, udp, UNIX ドメインのそれぞれのアドレスです。ただし、パイプはソケットを用いて 実装されているので、パイプは接続先の UNIX ドメインストリームソケットとして 現れることに注意してください。単方向 UNIX ドメインソケットは、向き を持った矢印 (``<-'' か ``->'') として表示され、双方向 (全二重) UNIX ドメイン は二重矢印 (``<->'') として表示されます。 .Sh バグ .Nm はシステムのスナップショットをとるので、表示される情報は ほんのわずかな間しか正しくありません。 .Sh 関連項目 .Xr netstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr sockstat 1 , .Xr systat 1 , .Xr tcp 4 , .Xr unix 4 , .Xr iostat 8 , .Xr pstat 8 , .Xr vmstat 8 .Sh 歴史 .Nm コマンドは .Bx 4.3 tahoe から登場しました。