web-dev-qa-db-ja.com

「ls -l / proc / [PID] / fd」の出力のanon_inodeとは何ですか?

/proc/[PID]/fd/さまざまなプロセスのフォルダ、dbusの奇妙なエントリを見つけました

lrwx------ 1 root root 64 Aug 20 05:46 4 -> anon_inode:[eventpoll]

したがって、質問は何ですかanon_inodes?これらは匿名パイプに似ていますか?

7

_/proc_の下のすべてが _man proc_ でカバーされています。このセクションでは、_anon_inode_について説明します。

パイプとソケットのファイル記述子の場合、エントリは、コンテンツがiノードのファイルタイプであるシンボリックリンクになります。このファイルでreadlink(2)を呼び出すと、次の形式の文字列が返されます。

_ type:[inode]
_

たとえば、_socket:[2248868]_はソケットで、そのiノードは2248868です。ソケットの場合、そのiノードを使用して、_/proc/net/_にあるファイルの1つで詳細を検索できます。

対応するiノードがないファイル記述子の場合(たとえば、epoll_create(2)eventfd(2)inotify_init(2)signalfd(2)、およびtimerfd(2))、エントリはフォームの内容を含むシンボリックリンクになります

_ anon_inode:<file-type>
_

場合によっては、ファイルタイプは角括弧で囲まれます。

たとえば、epollファイル記述子には、内容が文字列_anon_inode:[eventpoll]_であるシンボリックリンクが含まれます。

epollの詳細については、ここで説明します- 実行中のスレッドのeventpollについてどのような情報を見つけることができますか? .

_anon_inode_の追加情報について- Linuxの匿名iノードとは 基本的には、ディスクにデータがあり、アクセスするためのファイルシステム参照がなくなったデータがありました。 _anon_inode_は、参照しているiノードがないファイル記述子があることを示します。

8
slm

これらは、他の複数のファイル記述子を監視するための epoll syscallsから取得されます。匿名パイプとは関係ありません。

0
danblack