我正在使用 inotify 系统调用来监视我的一个文件的所有事件(删除、修改等)。
但是当我从 GUI 中删除文件时,没有触发任何通知。而当我从 CLI 删除文件时,则会通知该文件上的 [:attrib] 事件。
这是 inotify 调用中的问题吗,还是我遗漏了什么。
答案1
从 GUI 中删除时,文件会已移动到垃圾箱(inode 更新),所以没有修改/删除,所以没有通知!
当rm file
从 cli 删除它时,您会收到通知......
答案2
是的,Fabby 是对的,当我们从 GUI 中删除时,它将被移至垃圾箱。
但如果我们这样做SHIFT+DEL它会被检测到inotify
。
即使您将某些文件/目录复制到监视下的目录或将其移出,也不会捕获这些事件。
如果您想捕获这些事件,那么您可以订阅 IN_MOVED_FROM 和 IN_MOVED_TO 事件inotify
。