“ls -l /proc/[PID]/fd”输出中的 anon_inode 是什么?

“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 是什么?这些与匿名管道类似吗?

答案1

下面的所有内容/proc都包含在man proc。本节涵盖anon_inode.

对于管道和套接字的文件描述符,条目将是符号链接,其内容是带有 inode 的文件类型。对此文件的 readlink(2) 调用返回以下格式的字符串:

 type:[inode]

例如,socket:[2248868]将是一个套接字,其 inode 为 2248868。对于套接字,该 inode 可用于在 下的文件之一中查找更多信息 /proc/net/

epoll_create(2)对于没有相应 inode 的文件描述符(例如,由、eventfd(2)inotify_init(2)signalfd(2)和 生成的文件描述符timerfd(2)),该条目将是一个符号链接,其内容形式为

 anon_inode:<file-type>

在某些情况下,文件类型用方括号括起来。

例如,一个 epoll 文件描述符将有一个符号链接,其内容是 string anon_inode:[eventpoll]

有关更多信息,epoll我在这里讨论它们 -我可以找到有关正在运行的线程上的 eventpoll 的哪些信息?

欲了解更多信息anon_inode-Linux 中的匿名 inode 是什么?。基本上磁盘上有/曾经有数据不再有文件系统引用来访问它。 Ananon_inode显示有一个没有引用 inode 的文件描述符。

答案2

这些来自于epoll用于监视多个其他文件描述符的系统调用。与匿名管道无关。

相关内容