inotify 监控文件出现IN_DELETE_SELF和IN_MOVE_SELF事件原因
2012-12-18 16:21
295 查看
在实际测试过程中,通过运行以上的测试程序监视一个文件,还遇到过两个奇怪的现象:
1:用vim编辑那个被监视的文件,修改并保存,触发的是 IN_DELETE_SELF和IN_MOVE_SELF事件而不是我们所期望的IN_MODIFY事件;
2:再次修改并保存的时候不再有任何事件发生。
原因:
其实这是由于vim的工作机制引起的,vim会先将源文件复制为另一个文件,然后在另一文件基础上编辑(一般后缀名为swp),保存的 时候再将这个文件覆盖源文件,因此会出现上述的第一个现象,第二个现象是因为原来的文件已经被后来的新文件代替,因此监视对象所监视的文件已经不存在了, 所以自然不会产生任何事件。
1:用vim编辑那个被监视的文件,修改并保存,触发的是 IN_DELETE_SELF和IN_MOVE_SELF事件而不是我们所期望的IN_MODIFY事件;
2:再次修改并保存的时候不再有任何事件发生。
原因:
其实这是由于vim的工作机制引起的,vim会先将源文件复制为另一个文件,然后在另一文件基础上编辑(一般后缀名为swp),保存的 时候再将这个文件覆盖源文件,因此会出现上述的第一个现象,第二个现象是因为原来的文件已经被后来的新文件代替,因此监视对象所监视的文件已经不存在了, 所以自然不会产生任何事件。
相关文章推荐
- linux 高效的文件系统事件监控 内核级解析方案 inotify
- inotify 文件系统事件监控机制
- 使用 inotify 监控 Linux 文件系统事件
- 用 inotify 监控 Linux 文件系统事件
- 【转载】CentsOS系统inotify实时监控服务器文件(夹)定制事件处理程序
- 使用 inotify 监控 Linux 文件系统事件
- 用 inotify 监控 Linux 文件系统事件
- 用 inotify 监控 Linux 文件系统事件
- linux 高效的文件系统事件监控 内核级解析方案 inotify
- 使用 inotify 监控 Linux 文件系统事件
- inotify之文件系统事件监控使用入门
- 使用 inotify 监控 Linux 文件系统事件
- inotify之文件系统事件监控使用入门
- 监控文件事件inotify
- 测试 inotify 中 IN_DELETE_SELF
- 使用Inotify 监控Linux 文件系统事件
- 详细解读文件系统事件--inotify监控文件系统需要过滤事件!
- 如何监控Linux文件系统事件:inotify使用指南(1)
- Java读取UTF-8格式txt文件第一行出现乱码——问号“?”及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法
- linux开发 -- 文件监控 inotify