正如标题所示,是否有一种方法通知使用inotify / inotify-tools最近打开的套接字? 据我可以告诉inotify只适用于inode,特别是testing如果这些inode是套接字不是inotify实际上是能够的。 除此之外,我似乎无法find插槽FD的存储位置。 我只能看到他们的文件描述符是符号链接:
# ls -l /proc/29711/fd/10 lrwx------ 1 root root 64 Mar 6 17:04 /proc/29711/fd/10 -> socket:[750728] # stat /proc/29711/fd/10 File: `/proc/29711/fd/10' -> `socket:[750728]' Size: 64 Blocks: 0 IO Block: 1024 symbolic link Device: 3h/3d Inode: 759700 Links: 1 Access: (0700/lrwx------) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2013-03-06 17:05:22.690411801 +1100 Modify: 2013-03-06 17:04:14.062414880 +1100 Change: 2013-03-06 17:04:14.062414880 +1100 Birth: -
Inotify用于文件系统事件监视,所以除非有特殊的FS表示系统的套接字 – 没办法。
我build议特别关注netlink和NETLINK_INET_DIAG
,但是我无法确定它是否有相应的设施。
更新:我已经分享了这个问题 – 答案和Pavel Emelyanov – CRIU的主要开发者,证实了我的怀疑 – 更可能你不能用netlink
得到这些通知。
别忘了proc filesystem
是一个逻辑文件系统。 所以它不支持real filesystem
相同的软链接或硬链接.ext族,reiserfs,ufs等是真正的文件系统。 sysfs
是logical filesystem
实际的logical filesystems
正在处理内存。