FSTAT(1)

名称
fstat - ファイルのステータスを表示する

書式
fstat [-fnv] [-M core] [-N system] [-p pid] [-u uid] [filename ...]

解説
fstat は、現在オープンされているファイルについての情報を表示します。 オープンされているファイルとは、プロセスによって明示的にオープンされている もの、ワーキングディレクトリ、ルートディレクトリ、プロセスのアクティブな テキスト部や、カーネルのトレースファイルなどを指します。引数が何も与え られなければ、 fstat はシステム中でオープンされているすべてのファイル についての情報を表示します。

オプション:

-f  表示する情報を、 filename で指定されたファイルと同じファイルシステム のものに制限します。引数が指定されていない場合は、カレントディレクトリ を含むファイルシステムのものに制限されます。たとえば、 /usr/src 以下のディレクトリでオープンされているすべてのファイルを見つけるには、 “fstat -f /usr/src” としてください。

-M core
    名前に関するリストから値を取り出す際、デフォルトの /dev/kmem のかわりに core を使います。

-N system
    名前のリストを取り出す際、デフォルトの /netbsd のかわりに system を使います。

-n  数値フォーマットで表示を行います。マウントポイントの名前を表示する かわりに、そのファイルシステムにおけるデバイス番号 (メジャー、マイナー) を表示します。スペシャルファイルに関しては、 /dev の下のファイル は参照されず、スペシャルデバイスのデバイス番号が表示されます。また、 ファイルの属性も記号ではなく、8 進数で表示されます。

-p pid
    指定されたプロセス ID のプロセスによってオープンされているすべてのファイル の情報を表示します。

-u uid
    指定されたユーザ ID のユーザによってオープンされているすべてのファイル の情報を表示します。

-v  詳細報告モード。システムのデータ構造体の配置に失敗した場合などに エラーメッセージを表示します (デフォルトでは無視します)。これらの構造体の多くは、 動的に生成されたり消去されたりするもので、 fstat を実行中に 消えてしまう可能性があります。これは、 fstat 実行中にも、システムの残りの部分が動いているためで、ごく普通のことですし、 避けることはできません。

filename ...

    表示する情報を、指定された filename に限定します。

項目解説:

USER
    プロセスの所有者のユーザ名 (実効ユーザ ID のものが表示されます)

CMD プロセスのコマンド名

PID プロセス ID

FD  プロセスごとのオープンしているファイルのファイル番号、もしくは 以下の特別な名前のどれかです:

    •   text(pure text inode)
    •   wd(working directory)
    •   root(root indoe)
    •   tr(kernel trace file)

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

MOUNT
    -n オプションが指定されていなければ、このヘッダが現れます。 マウントされているパス名は、ファイルが存在しているファイルシステムです。

DEV -n が指定されると、このヘッダが現れます。ファイルが存在しているデバイス のメジャー番号とマイナー番号です。

INUM
    ファイルの inode 番号です。

MODE
    ファイルの属性です。 -n が指定されていなければ、記号でファイルの属性を 表示します (strmode(3) を参照)。 -n が指定されていれば、 ファイルの属性は8進数で表示されます。

SZ|DZ
    ファイルがキャラクタデバイスファイルやブロックデバイスファイルでなければ、 そのファイルのバイト数を表示します。デバイスファイルで -n が 指定されていなければ、そのスペシャルファイルの /dev における名前を表示します。 /dev になかったり、 -n が指定されていたりすると、スペシャルデバイスが参照するメジャー番号、 マイナー番号を表示します。

R/W このフィールドには、ファイルのアクセス属性が表示されます。 ``r'' の場合は、ファイルが読込みのためにオープンされていることを意味します。 ``w'' の場合は、ファイルが書込みのためにオープンされていることを意味します。 このフィールドは、ファイルシステムがリードオンリーに移行する際に、 それを妨げているプロセスを見つける場合に役に立ちます。

NAME
    filename が指定されていて、 -f が指定されていなければ、このフィールドが表示され、 指定されたファイルに関連する名前が表示されます。 普通、この名前は決まったものではありません。というのも、オープンされた ファイルから、ディレクトリ中のエントリへの逆のマッピングは存在しない からです。また、異なるディレクトリエントリが同じファイルを参照してい ることもあるからです (ln(2) を参照)。そのため、表示されている名前は、プロセスがオープンした元のファイルの 実際の名前と異なっていることがあるかもしれません。

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

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

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

関連ファイル
/netbsd
    デフォルトのカーネル名前リスト
/dev/kmem
    デフォルトのメモリファイル

関連項目
netstat(1), nfsstat(1), ps(1), systat(1), iostat(8), pstat(8), vmstat(8)

歴史
fstat コマンドは 4.3BSD tahoe から登場しました。