Linux でリソース ID を指定してファイル/デバイスを見つけるにはどうすればよいでしょうか?

Linux でリソース ID を指定してファイル/デバイスを見つけるにはどうすればよいでしょうか?

Gentoo Linux システムで、PHP スクリプト内からファイル記述子の値を印刷すると、次の出力が生成されます。

Resource id #1234

このリソース ID を指定して対応するファイル/デバイスを見つけるにはどうすればよいでしょうか?

答え1

その数字がUnixファイル記述子であると仮定すると、次のようにして調べることができます。

ls -l /proc/$PID/fd/1234

ここで、 の代わりに$PIDPHPプロセスのPIDを挿入します(これは、例えば を使用して取得できますps)。たとえば、対話型bashでは、次のように取得します。

ls -l /proc/$$/fd/0

$$bashでは現在のシェルのPID)出力

lrwx------ 1 ******** ******** 64 Okt 16 14:24 /proc/21239/fd/0 -> /dev/pts/4

ファイル記述子0(stdin) がファイル/dev/pts/4(シェルが実行されている疑似端末デバイス) を参照していることを通知します。

関連情報