关闭文件描述符和移除inotify监视真的必要吗?
使用python的inotifyx时,如果我在程序运行期间需要保持对某个文件的监视,是否需要在程序退出前手动去移除监视和关闭打开的系统文件描述符?比如说,如果我每次运行程序时都创建一个(文件描述符 + 监视),而不去关闭它,会不会出现什么问题?
2 个回答
1
在你用完一些资源时,比如释放内存、关闭文件描述符、等待子进程结束等,最好及时处理这些资源。懒惰地等着操作系统在你退出时自动处理这些事情,可能会在将来导致一些错误。
0
内核把监视器(watch)存储为完整的路径,所以关闭监视器是更好的选择,这样可以减少虚拟文件系统(VFS)不必要的工作。至于文件描述符(file descriptor),这就要看你打开了多少其他的了。
这有点像打电话,告诉对方你不再听了是很好的,但挂断电话是可选的,虽然大家一般都会这样做。如果你需要它来做其他事情,那就继续保留吧。