问题标签 [inotify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4389 浏览

linux - 如何从 inotify/incron 中排除 PATTERN

我正在使用 incron 来监视目录中的事件,但我想排除某些子目录或某些文件名 PATTERNS。

有没有办法优雅地做到这一点?

0 投票
1 回答
158 浏览

python - 大量半持久数据的结构?

我需要跟踪一组文件的大量 inotify 消息,这些文件在其生命周期内将在几个特定目录之间移动,并且 inode 完好无损;我需要跟踪这些 inode 的移动,以及创建/删除和更改文件内容。每秒将有数百次更改。

由于资源有限,我无法将其全部存储在 RAM(或磁盘或数据库)中。

幸运的是,这些文件中的大部分都会在短时间内被删除;只需存储文件内容和移动历史以供以后分析。未立即删除的文件最终将在特定目录中保留一段已知时间。

所以在我看来,我需要一个部分存储在 RAM 中并部分保存到磁盘的数据结构;保存到磁盘的部分需要重新调用(未删除的文件),但大部分不需要。我不需要查询数据,只需通过标识符(文件名,即 [A-Z0-9]{8})访问它。能够配置文件数据何时刷新到磁盘会很有帮助。

这样的野兽存在吗?

编辑:我问了一个相关的问题

0 投票
1 回答
320 浏览

c - 帮助 inotify C 脚本

来源

我以前从未使用过C。此脚本将侦听器添加到目录中,并通过回显到终端来通知用户,然后在文件事件发生时退出。我想将脚本修改为不退出,而是继续监视文件夹。我认为关键可能是这一行:

length = read( fd, buffer, BUF_LEN );

但我真的不明白这里发生了什么。该read()函数的描述可能对那些非常了解 C 的人有帮助:

Using inotify is simple: Create a file descriptor, attach one or more watches (a watch is a path and set of events), and use the read() method to receive event information from the descriptor. Rather than burn scarce cycles, read() blocks until events occur.

但我不属于这一类。

0 投票
3 回答
1203 浏览

monitoring - 如何监控 vala 中的目录?

如何异步监控 vala 中的一些目录?我只需要一个回调方法,只要其中一个目录中的文件是:

  • 创建
  • 已删除
  • 修改的

我找到了 GLib.FileMonitor但我不确定如何使用它。

0 投票
1 回答
1036 浏览

python - 烧瓶“hello world”无法在调试模型中运行

我按照官方文档,安装了virtualenv和flask,然后python hello.py 出现了问题:</p>

我的hello.py:

但是如果没有调试就可以了吗?为什么?我的 /env/lib/python2.7/site-packages:

0 投票
2 回答
11586 浏览

linux - inotify - 如何找出哪个用户修改了文件?

我正在寻找有关如何找出哪个用户修改了特定文件的指导。虽然 inotify 非常适合在触摸特定文件时收到通知,但我如何确定哪个用户修改了该文件?我可以考虑使用 lsof 但我担心它可能不像我想要的那样“实时”和/或它可能对资源征税过多。实时,我的意思是如果用户只是在文件上执行touch命令,当我lsof在文件上运行时,它可能不会被lsof.

0 投票
2 回答
4487 浏览

linux - 添加目录中的文件后,如何使用 inotify-tools 向我发送电子邮件?

用户有时会将文件添加到 linux 服务器上的目录中。我正在寻找在将文件添加到此目录时通知的方法。我找到了 inotify-tools:

https://github.com/rvoicilas/inotify-tools/wiki/

但我不太确定如何使用它。我似乎找不到合适的文档。

如果有这方面经验的人可以指导我,我将不胜感激。

0 投票
1 回答
1840 浏览

linux - How do I avoid this race condition with readdir/inotify?

Suppose I want to invoke some command on all files in a directory and set a watch to invoke that command on all files that get created in that directory. If I do:

then some files will potentially be missed. If I call inotify_add_watch() before the readdir(), files may be acted on twice (it would require a fair bit of infrastructure to prevent acting twice, and it seems that the edge cases would be difficult to handle). Is there a simple way to avoid having to record the names of all files worked on during the readdir loop and comparing those to the names returned in the inotify_event structure? I can minimize the amount of necessary comparisons with:

And usually the second readdir() loop will do nothing, but this feels like a bad hack.

0 投票
1 回答
1801 浏览

python - pyinotify 的可疑线程问题

我一直在使用 pyinotify 并且遇到了问题,在对文件夹进行多次更改后,它只是停止接收通知。我感觉这与两个线程正在运行的事实有关;即通知线程和 wxpython 线程。

该应用程序的目的本质上是在检测到 IP 连接时将图片加载到屏幕上,监视文件夹中的文件“清单”并基于该文件进行一些处理,即移动文件。

它间歇性地工作,但作为一个 python 新手,我不确定问题可能是什么,因为我基本上已经采用了线程示例并解决了它。有时,它只收到一个通知并停止接收文件更改通知。

此外,如果我重新启动 linux 机器并重试,它适用于大量文件更改,然后再次停止接收通知,这让我认为它可能没有正确释放手表?

任何帮助将不胜感激,并且非常欢迎优化和改进。我相信我可以从反馈中学到很多东西。代码如下

0 投票
2 回答
283 浏览

filesystems - 内核如何知道文件已关闭

linux知道文件已关闭的机制到底是什么?我知道诸如 INOTIFY 之类的命令会在文件关闭时触发 IN_CLOSE_WRITE 事件。但它是如何工作的?什么触发关闭文件?

同样,操作系统如何知道文件已打开以及它在哪里注册该事实?