уведомить
dnotify — монитор событий файловой системы для ядра Linux , одна из подфункций вызова fcntl. Он был представлен в серии ядра 2.4. [1] Он устарел в inotify , но будет сохранен по соображениям совместимости.
Его функция, по сути, является расширением файловых систем , позволяющим замечать изменения в файловой системе и сообщать об этих изменениях приложениям. Вместо проверки приложения на наличие изменений в файловой системе приложение может зарегистрироваться для получения уведомлений от ядра при возникновении изменений в файловой системе. Приложение может выбирать каталоги для мониторинга и типы изменений, о которых нужно получать уведомления.
Одним из основных применений являются поиска на рабочем столе, утилиты такие как Beagle , где их функциональность позволяет переиндексировать измененные файлы без сканирования файловой системы на наличие изменений каждые несколько минут, что было бы очень неэффективно. Получив сообщение о том, что файл был изменен непосредственно ядром, а не активным поиском, Beagle и подобные утилиты могут добиться времени изменения до переиндексации всего около секунды с очень небольшим снижением производительности (поэтому dnotify позволяет использовать такие программы разумным образом; демоны обычно не принимаются дистрибьюторами, если они заметно снижают производительность системы для обеспечения функциональности пользовательского пространства ).
Ограничения
[ редактировать ]- dnotify может просматривать только каталоги.
- dnotify требует поддержания открытого файлового дескриптора в каталоге, который пользователь хочет отслеживать. Во-первых, каталог открыт, что запрещает размонтирование устройства, на котором он находится. Во-вторых, список наблюдения ограничен лимитом открытых файлов процесса. [2]
См. также
[ редактировать ]- API ядра Linux
- Монитор изменения файлов
- inotify — замена dnotify.
- Файл Documentation/filesystems/dnotify.txt в дереве исходного кода ядра.
Сноски
[ редактировать ]- ^ А именно, в 2.4.0-test9.
- ^ «Kernel Korner — Введение в уведомление» . Linux-журнал . Проверено 25 апреля 2012 г.