您的位置:首页 > 运维架构

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),保存的 时候再将这个文件覆盖源文件,因此会出现上述的第一个现象,第二个现象是因为原来的文件已经被后来的新文件代替,因此监视对象所监视的文件已经不存在了, 所以自然不会产生任何事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: