Как очистить дескрипторы осиротевших часов от inotify
После создания дескриптора файла с помощью вызова inotify_init()
Я добавляю тысячи watch
Это касается экземпляра inotify (надеюсь, это правильно называть так).
Мои вопросы: если моя программа дает сбой, что происходит с этими дескрипторами часов? Могу ли я очистить их все после аварии? Это важно, поскольку количество разрешенных дескрипторов часов ограничено /proc/sys/fs/inotify/max_user_watches
1 ответ
Файловые дескрипторы, независимо от того, указывают ли они на файлы, сокеты или экземпляры inotify, должны принадлежать как минимум одному процессу - они автоматически закрываются при выходе из последнего процесса.
Точно так же, когда все файловые дескрипторы, ссылающиеся на экземпляр inotify, были закрыты, базовый объект и его ресурсы освобождаются для повторного использования ядром; все связанные часы автоматически освобождаются. ( inotify (7))