Как очистить дескрипторы осиротевших часов от inotify

После создания дескриптора файла с помощью вызова inotify_init() Я добавляю тысячи watchЭто касается экземпляра inotify (надеюсь, это правильно называть так).

Мои вопросы: если моя программа дает сбой, что происходит с этими дескрипторами часов? Могу ли я очистить их все после аварии? Это важно, поскольку количество разрешенных дескрипторов часов ограничено /proc/sys/fs/inotify/max_user_watches

1 ответ

Решение

Файловые дескрипторы, независимо от того, указывают ли они на файлы, сокеты или экземпляры inotify, должны принадлежать как минимум одному процессу - они автоматически закрываются при выходе из последнего процесса.

Точно так же, когда все файловые дескрипторы, ссылающиеся на экземпляр inotify, были закрыты, базовый объект и его ресурсы освобождаются для повторного использования ядром; все связанные часы автоматически освобождаются. ( inotify (7))

Другие вопросы по тегам