问题标签 [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 回答
7356 浏览

c - 将读取与 inotify 一起使用

我一直在研究inotify call,但是在涉及到读取接口时我还是有点片面。这些是我能找到的关于如何使用 read(2) 正确与 inotify 交互的最相关资源:

它们都以相同的方式实现它,它们首先定义以下大小:

然后他们以这种方式使用它们:

现在,我们知道名称是其中的一部分,struct inotify_event并且它具有可变长度。那么,缓冲区中的最后一个 inotify_event 不能被截断吗?

假设有 1023 个 inotify_events,路径为 16 字节,一个为 32 字节。那时会发生什么?后期会被截断吗?或者内核会发现它不适合缓冲区并完全保留它吗?

0 投票
2 回答
8064 浏览

perl - 在 perl 中使用 inotify 监视多个文件

我需要在 Perl 中查看多个文件,并且我正在使用Linux::Inotify2。但是我遇到了一个问题,即需要修改并点击正在观看的第一个文件,然后是第二个,然后是第一个等等

例如,如果第二个文件在第一个文件之前更改,它将不会触发,或者如果第一个文件连续触发两次,而第二个文件在两者之间没有被触发。

这是我正在使用的有此问题的代码部分。

理想情况下,我想观看 3 个文件,但由于我无法让 2 个文件正常工作,因此现阶段似乎有点毫无意义。

谢谢你的帮助!

0 投票
1 回答
1427 浏览

linux - 获取 Inotify 以正确发出 IN_UNMOUNT 事件

您好,我一直试图让 Inotify 产生一个 IN_UNMOUNT 事件,但它根本不与我合作,所以我用 inotifywait 做了一个简单的实验,结果如下:

基本上会发生什么,它将接收所有其他事件,例如创建、打开等......但是当我卸载/storage/test/时,它会为它创建的所有手表发出一个IGNORED,但它从不发出卸载事件...

所以看起来我无法获得 IN_UNMOUNT 事件,但我读过的所有 inotify 文档都说,当卸载受监控的文件/目录后备存储时,内核将向事件添加一个 IN_UNMOUNT 位标志......

这是来自 - Inotify 补丁的简单 C 代码

无论如何,我做了以下步骤:

最后这是它发出的

所以在这个时间点上,我不确定问题是出在代码中还是其他什么地方?

0 投票
1 回答
4919 浏览

bash - bash 脚本:在使用 inotifywait 的简单脚本中读取时的含义

p>

我发现这个脚本正在寻找对执行特定工作的文件系统事件做出反应的东西。该脚本完美运行我不明白的是while read f的含义;

0 投票
1 回答
1756 浏览

java - inotify - 我应该如何处理完整的事件队列?

我是一个 Fedora 用户,目前正在使用 inotify-java 来实现目录轮询。我有以下代码片段:

0 投票
1 回答
1322 浏览

python - 仅在使用 python 更新后如何从输入文件中读取文本

实际上,我会将来自 application1 的输入提供给 input.txt,实习生会触发 {used pyinotify} program1 来运行更新 output.txt 文件的 program1,但从 output.txt 读取的 application1 不会等待 program1 完成文本文件(output.txt)的写入过程,它从 output.txt 中读取旧数据。我需要 Application1 等待 program1 的进程完成我该怎么做?

这是我用来在触发输入文本时在后台运行我的 python 程序 1 的程序,在此触发后应用程序 1 执行此语句 out_file=open("/var/www/cgi-bin/output.txt", "r").read()

现在 application1 在 program1 更新之前获取输出内容!我希望 Aplication1 等待 program1 完成对 output.txt 的运行和更新

请给我一个想法,我该怎么做..

谢谢 :)

0 投票
3 回答
1174 浏览

linux - 如何监控进程工作目录的变化?

我想在 Linux 下监视具有给定 PID 的任意进程的当前工作目录。

我的想法是在 procfs 上使用 inotify。每个进程在 /proc/PID 下都有自己的目录,并且有一个符号链接指向实际的工作目录 /proc/PID/cwd

我想在这个符号链接发生变化时得到通知,但是如果我在符号链接上放置一个监视,它将开始监视符号链接指向的目录。

有任何想法吗?

0 投票
2 回答
544 浏览

linux - inotify 在删除之前还是之后触发 IN_DELETE?

我正在尝试在文件被删除之前对其进行备份。有人可以告诉我 inotify 是在删除之前还是之后触发事件?

0 投票
2 回答
1734 浏览

python - python扭曲INotify而不阻塞反应器

我正在使用 twsited 的 INotify 来监视 /dev 目录以监视正在添加的新串行设备。我目前使用的代码类似于下面。

我现在遇到的问题是当“创建”被调用时,它阻塞了我的反应器,所以其他网络会话(我有与同一个反应器关联的 TCP 和 UDP 连接)必须等待“创建”方法结束。

有谁知道我如何使“创建”方法在后台运行,这样它就不会阻塞我的反应器?

谢谢,

西蒙

0 投票
1 回答
4248 浏览

linux - 使用 inotify 检测文件移动的问题。

我想使用 inotify 来监视目录的内容。在我尝试使用 mv 命令重命名目录中的文件之前,一切似乎都很好。我按预期得到了 IN_MOVED_FROM 但 IN_MOVED_TO 没有出现。

下面是我的测试程序。编译:

启动: