EN JA
FSTAT(1)
FSTAT(1) FreeBSD General Commands Manual FSTAT(1)

名称

fstatアクティブなファイルを確認する

書式

fstat [ -fmnv][ -M core][ -N system][ -p pid][ -u user][ file ...]

解説

fstat ユーティリティは、オープンしているファイルを確認します。ファイルは、明白にオープンされていたなら、プロセスによってオープンされていると見なされ、ワーキングディレクトリ、ルートディレクトリ、jail のルートディレクトリ、アクティブな実行形式テキスト、またはそのプロセスのためのカーネルトレースファイルです。オプションが指定されないなら、 fstat は、システムのすべてのオープンされているファイルについて報告します。

次のオプションが利用可能です:

-f
指定されたファイル引数と同じファイルシステムのオープンされているファイル、または追加のファイル名の引数がないなら、カレントディレクトリを含んでいるファイルシステムの調査に制限されます。例えば、ディレクトリ /usr/src が存在する、ファイルシステムでオープンされているすべてのファイルを見つけるためには、“ fstat -f /usr/src”とタイプします。
-M
名前に関するリストから値を取り出す際、デフォルトの /dev/kmem の代わりに、指定された core から名前リストに関連する値を抽出します。
-N
指定された system から名前リストを取り出します。デフォルトは、システムが起動してきたカーネルイメージから取り出します。
-m
メモリマップされたファイルをリストに含めます。更なる処理が必要であるため、通常は、これらは、除外されています。
-n
数値フォーマットで表示を行います。マウントポイントの名前を表示するかわりに、そのファイルシステムにおけるデバイス番号 (メジャー、マイナ) を表示します。特殊ファイルに関しては、 /dev の下のファイル名は、参照されず、特殊デバイスのデバイス番号が表示されます。また、ファイルの属性も記号ではなく、8 進数で表示されます。
-p
指定されたプロセス ID のプロセスによってオープンされているすべてのファイルの情報を表示します。
-u
指定されたユーザによってオープンされているすべてのファイルの情報を表示します。
-v
詳細報告モード。システムのデータ構造体を見つけるのに失敗した場合などにエラーメッセージを表示します (デフォルトでは、無視します)。これらの構造体の多くは、動的に生成されたり消去されたりするもので、 fstat を実行中に消えてしまう可能性があります。これは、 fstat 実行中にも、システムの残りの部分が動いているためで、ごく普通のことですし、避けることはできません。
file ...
表示する情報を、指定されたファイルに限定します。

次のフィールドが印刷 (表示) されます:

USER
プロセスの所有者のユーザ名 (実効ユーザ ID)。
CMD
プロセスのコマンド名。
PID
プロセス ID。
FD
プロセスごとのオープンされているファイルテーブルのファイル番号、または次の特別な名前:

jail - jail ルートディレクトリ 
mmap - メモリマップされたファイル 
root - ルートの inode 
text - 実行形式のテキストの inode 
tr - カーネルトレースファイル 
wd - 現在のワーキングディレクトリ

ファイル番号のあとにアスタリスク記号 ``*'' がある場合は、ファイルは、inode ではなく、ソケットや FIFO であったり、そのファイルにエラーがあるのかもしれません。この場合、残りの行は、後ろのヘッダと一致しません -- 行のフォーマットは、 ソケット のところで説明します。

MOUNT
-n オプションが指定されていなければ、このヘッダが現れます。マウントされているパス名は、ファイルが存在しているファイルシステムです。
DEV
-n が指定されるなら、このヘッダが示され、このヘッダは、ファイルが存在しているデバイスの番号です。
INUM
ファイルの inode 番号。
MODE
ファイルのモード。 -n フラグが指定されないなら、モードは、シンボリック形式 ( strmode(3) を参照) を使用して印刷 (表示) されます。そうでなければ、モードは、8 進数として印刷 (表示) されます。
SZ|DV
ファイルがセマフォであるなら、セマフォの現在の値を印刷 (表示) します。ファイルがキャラクタデバイスファイルやブロックデバイスファイルでなければ、そのファイルのバイト数を表示します。デバイスファイルであって -n が指定されていなければ、その特殊ファイルの /dev における名前を表示します。 /dev になかったり、 -n が指定されていたりすると、スペシャルデバイスが参照するメジャー番号、マイナ番号を表示します。
R/W
このフィールドには、ファイルのアクセス属性が表示されます。 ``r'' の場合は、ファイルが読み込みのためにオープンされていることを意味します。 ``w'' の場合は、ファイルが書き込みのためにオープンされていることを意味します。このフィールドは、ファイルシステムを読み込み専用状態に移行する際に、それを妨げているプロセスを見つける場合に役に立ちます。
NAME
filename 引数が指定され、 -f が指定されていなければ、このフィールドが表示され、指定されたファイルに関連する名前が表示されます。普通、この名前は、決まったものではありません。というのも、オープンされたファイルから、ディレクトリ中のエントリへの逆のマッピングは、存在しないからです。また、異なるディレクトリエントリが同じファイルを参照していることもある ( ln(1) を参照) ため、表示されている名前は、プロセスがオープンした元のファイルの実際の名前と異なっているかもしれません。

ソケット

オープンしているファイルのフォーマットは、プロトコルのドメインに依存します。最初のフィールドは、ドメイン名で、2 番目のフィールドは、ソケットの型 (stream や dgramなど)、3 番目は、ソケットフラグのフィールド (16 進数) です。残りのフィールドは、プロトコルに依存します。 tcp の場合は、 tcpcb のアドレスですし、udp の場合は、inpcb (ソケット pcb) のアドレスです。 UNIX ドメインソケットの場合は、ソケット pcb のアドレスと (もし接続すれば) 接続先 pcb のアドレスです。それ以外の場合は、プロトコル番号とソケット自身のアドレスが表示されます。 netstat(1) と重複しない範囲で、詳しく分析するのに十分な情報を表示しようとします。

たとえば、上で述べたアドレスは、“ netstat -A”コマンドで表示される tcp, udp, UNIX ドメインのそれぞれのアドレスです。ただし、パイプは、ソケットを用いて実装されているので、パイプは、接続先の UNIX ドメインストリームソケットとして現れることに注意してください。単方向 UNIX ドメインソケットは、向きを持った矢印 (``<-'' か ``->'') として表示され、双方向 (全二重) UNIX ドメインは、二重矢印 (``<->'') として表示されます。

歴史

fstat コマンドは、 4.3BSD-Tahoe で登場しました。

バグ

fstat は、システムのスナップショットをとるので、表示される情報は、ほんのわずかな間しか正しくありません。
September 28, 2011 FreeBSD