
De acordo comWikipédia,
inotify é um subsistema do kernel Linux que percebe alterações no sistema de arquivos. Ele substituiu o dnotify anterior.
Programas que sincronizam arquivos (como crashplan, dropbox, git) recomendam nos guias do usuário que o usuário aumente max_user_watches
(1,2,3).
Pelo que entendi sobre o inotify, o sistema operacional é "informado" de que um arquivo foi alterado, em vez de exigir que o sistema operacional "procure" por alterações.
Presumo que exista um arquivo "inotify" criado em cada diretório. Isso está correto? Existe uma maneira de interagir com o inotify na linha de comando?
Recursos
Por que os eventos inotify são diferentes em uma montagem NFS?
Inotifywait por um grande número de arquivos em um diretório
Responder1
Inotify é um recurso interno do kernel. Não existe “arquivo inotificar”. Existem chamadas de sistema dedicadasinotify_init
,inotify_add_watch
einotify_rm_watch
que permitem que os processos se registrem para serem notificados quando determinados eventos do sistema de arquivos acontecem. Quando o evento acontece, o processo recebe uma descrição do evento através do descritor de arquivo retornado por inotify_init
.
O sistema operacional não é “informado” de que um arquivo foi alterado: ele sabe, porque está fazendo a alteração. É o aplicativo que informa que um arquivo foi alterado, em vez de precisar procurá-lo.
O programainotifywait
fornece uma maneira simples de usar o inotify na linha de comando.