如何清除 inotify 的孤立监视描述符

如何清除 inotify 的孤立监视描述符

通过调用创建文件描述符后,inotify_init()我向 inotify 实例添加了数千个watches(希望这样调用是正确的)。

我的问题是,如果我的程序崩溃了,这些监视描述符会发生什么?崩溃后我可以清除它们吗?这很重要,因为允许观察描述符数量受限于/proc/sys/fs/inotify/max_user_watches

答案1

文件描述符,无论它们指向文件,套接字还是 inotify 实例,都必须至少属于一个进程 - 当最后一个进程退出时它们会自动关闭。

类似地,当所有引用 inotify 实例的文件描述符都已关闭时,底层对象及其资源将被释放以供内核重用;所有相关监视也将被自动释放。(inotify(7)

相关内容