据我所知,linux内核提供了“inotify机制”来监控文件系统。
根据inotify,inotify_init()
返回fd以从内核接收inotify_event
。
(我知道内核会在上面写inotify_event
。)
1)如果我使用inotify fd
使用inotify_add_watch()
添加新观看,当观看的文件收到活动时,谁会在inotify fd上写inotify_event
。
2)(如果内核确实如此),当内核检测到监视文件的事件时,内核如何确定哪个inotify fd(inotify_instance)
必须使用此inotify_event
进行更新?
答案 0 :(得分:2)
我自己的研究,这就是答案:
inotify_add_watch()
某个文件时,inotify
会将inotify
的一些信息存储到该文件的inode
结构中。然后,只要文件系统处理该文件,它就会检查文件的inode
sturture - 是否存在inotify watches
。如果从inotify
结构中找到inode
个监视,inotify
报告inotify_event
。