首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扇形递归真的有效吗?

扇形递归真的有效吗?
EN

Stack Overflow用户
提问于 2013-10-22 21:10:55
回答 2查看 1.7K关注 0票数 3

我使用如下代码来监视整个文件系统:

代码语言:javascript
复制
fanotify_mark(fd,
          FAN_MARK_ADD | FAN_MARK_MOUNT,
          FAN_OPEN | FAN_EVENT_ON_CHILD,
          AT_FDCWD, "/"
)

但是我需要编写一些测试,所以,我希望监视器只是一个特定的dir,比如说"/tmp/test_dir“。问题是,当我以这种方式更改代码时:

代码语言:javascript
复制
fanotify_mark(fd,
          FAN_MARK_ADD,
          FAN_OPEN | FAN_EVENT_ON_CHILD,
          AT_FDCWD, "/tmp/test_dir"
)

扇只监视"/tmp/test_dir“上的事件,忽略在更深的文件夹中发生的任何事情。

例如:如果我打开"/tmp/test_dir/aa/bb/cc/test_file.txt“,fanotify就不会检测到任何东西。

我漏掉了什么旗子?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-23 13:29:31

问题解决了。

扇形不是递归的。它只在处理挂载目录时才这样工作。我做了以下测试:

代码语言:javascript
复制
mkdir /tmp/parent
mkdir -p /tmp/other/aa/bb/cc/dd
touch /tmp/other/aa/bb/cc/dd/test.txt
mount --bind /tmp/other /tmp/parent

然后在代码中:

代码语言:javascript
复制
fanotify_mark(fd,
      FAN_MARK_ADD | FAN_MARK_MOUNT,
      FAN_OPEN | FAN_EVENT_ON_CHILD,
      AT_FDCWD, "/tmp/parent"
)

一切都结束了。现在,扇test.txt文件激发事件。

票数 5
EN

Stack Overflow用户

发布于 2014-01-07 13:46:53

使用fanotify,要么监视指定路径的整个挂载点(使用FAN_MARK_MOUNT),要么监视目录中的文件(不是它的子目录,而不指定FAN_MARK_MOUNT)。您可以为子目录设置单独的监视器来实现这一点。请参阅https://stackoverflow.com/a/20965660/2706918

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19528432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档