dnotify es un monitor de eventos del sistema de archivos para el kernel de Linux , una de las subfunciones de la llamada fcntl. Fue introducido en la serie 2.4 del kernel. [1] Ha quedado obsoleto por inotify , pero se conservará por razones de compatibilidad.
Su función es esencialmente una extensión de los sistemas de archivos para notar cambios en el sistema de archivos e informar esos cambios a las aplicaciones. En lugar de que la aplicación busque cambios en el sistema de archivos, la aplicación se puede registrar para que el kernel le notifique cuando se produzcan cambios en el sistema de archivos. La aplicación puede seleccionar directorios para monitorear y tipos de cambios para ser notificados.
Un uso importante es en las utilidades de búsqueda de escritorio como Beagle , donde su funcionalidad permite volver a indexar los archivos modificados sin escanear el sistema de archivos en busca de cambios cada pocos minutos, lo que sería muy ineficiente. Al saber que un archivo ha cambiado directamente por el kernel, en lugar de buscar activamente, Beagle y tales utilidades pueden lograr tiempos de cambio para reindexar de solo un segundo, con impactos de rendimiento muy pequeños (dnotify, por lo tanto, permite el uso de tales programas de una manera sensata; los distribuidores generalmente no aceptan los demonios si agotan el rendimiento del sistema de manera notable para proporcionar la funcionalidad del área de usuario ).
Limitaciones
- dnotify solo puede ver directorios.
- dnotify requiere mantener un descriptor de archivo abierto en el directorio que el usuario desea ver. Primero, el directorio está abierto, por lo que no permite que el dispositivo en el que reside se desmonte. En segundo lugar, la lista de vigilancia está limitada por el límite de archivos abiertos del proceso. [2]
Ver también
- API del kernel de Linux
- Monitor de alteración de archivos
- Gamín
- inotify , un reemplazo dnotify.
- El archivo Documentation / filesystems / dnotify.txt en el árbol de fuentes del kernel
Notas al pie
- ^ A saber, en 2.4.0-test9.
- ^ "Kernel Korner - Introducción a inotificar" . Diario de Linux . Consultado el 25 de abril de 2012 .