inotifytools错误

时间:2012-01-08 02:54:24

标签: inotify inotify-tools

我正在使用inotifytools以递归方式监视目录。当我使用以下命令时

  
    

inotifywait ./test -m

  

在命令之后,如果我在./test下创建了一个导演,假设为./test/test2。然后,如果我在test2下执行某些操作,例如删除文件或添加文件,则很奇怪没有发生任何事件。

似乎test2上没有手表。

这是一个错误还是我只是以错误的方式使用?

2 个答案:

答案 0 :(得分:1)

man 1 inotifywait,您将获得以下输出:

  

-r, - recursive
  观察作为参数传递的任何目录的所有子目录。手表将以递归方式设置为无限深度。不遍历符号链接。还将监视新创建的子目录   警告:如果在观察大树的根目录时使用此选项,则可能需要很长时间才能建立所有inotify监视,并且此时不会接收事件。此外,由于每个子目录将建立一个inotify手表,因此可能会达到每个用户的最大inotify手表数量。默认最大值为8192;可以通过写入/ proc / sys / fs / inotify / max_user_watches来增加它。

默认情况下,inotifywait不会监控子目录,因此您需要-r, --recursive选项来强制执行此操作。所以你需要的命令是这样的:

  

inotifywait -rm test

答案 1 :(得分:-1)

inotify手表不是递归的。 (也就是说,如果您打算进行深层次通知,则每个目录需要一个。)