通过调用创建文件描述符后,inotify_init()
我向 inotify 实例添加了数千个watch
es(希望这样调用是正确的)。
我的问题是,如果我的程序崩溃了,这些监视描述符会发生什么?崩溃后我可以清除它们吗?这很重要,因为允许观察描述符数量受限于/proc/sys/fs/inotify/max_user_watches
答案1
文件描述符,无论它们指向文件,套接字还是 inotify 实例,都必须至少属于一个进程 - 当最后一个进程退出时它们会自动关闭。
类似地,当所有引用 inotify 实例的文件描述符都已关闭时,底层对象及其资源将被释放以供内核重用;所有相关监视也将被自动释放。(inotify(7))