Subject: How do I find the name of an open file?
Date: Thu Mar 18 17:16:55 EST 1993

4.3) オープンしたファイルの名前を調べるにはどうしたらいいでしょうか。

一般的には、これは非常に難しい問題です。ファイルディスクリプタは、パイ プや疑似端末(pty)に継っている場合もあり、これらの場合には名前を持ちま せん。既に消されたファイルに継っている場合もあります。ハードリンクや、 シンボリックリンクで複数のファイル名を持っていることもあるでしょう。

どうしてもファイル名を知りたくて、この問題について長い間、一所懸命考え 抜き、どうしてもファイル名を知る以外に方法がない、ということになったの でしたら以下のようにするのがよろしいでしょう。

  1. find(1) を -inum と可能ならば -xdev オプションつきで使う。
  2. ncheck(8) を用いる。
  3. 上述のコマンドの機能をプログラム中で実現する。
600MBのファイルシステムの中から、存在するかしないかさえ確実でない一つの ファイルを探すのには、ちょっと時間がかかるのは覚悟して下さいね。


UNIX FAQ LIST / Copyright(c)1994,Ted Timar / tmatimar@isgtec.com


Maintainer: あさだ たくや