0

我了解linux内核提供了“inotify机制”来监控文件系统。

根据inotify,inotify_init()返回fdinotify_event从内核接收。(我知道内核会写inotify_event在上面。)

1)如果我inotify fd使用 using添加新的手表,当被监视的文件有事件时inotify_add_watch(),谁将在 inotify fd 上写入。inotify_event

2)(如果内核这样做,)当内核检测到监视文件的事件时,内核如何决定哪个inotifyfd(inotify_instance)必须用这个更新inotify_event

4

1 回答 1

2

我自己的研究,这是答案:

  1. 它是linux内核;特别是文件系统。
  2. 当您调用inotify_add_watch()某个文件时,inotify将一些inotify监视信息存储到该文件的inode结构中。

然后,每当文件系统处理该文件时,它都会检查文件的inode结构——是否存在inotify watches。如果从结构中inotify发现手表,报告。inodeinotifyinotify_event

于 2011-12-08T05:55:57.670 回答