Como funciona o inotify?

Como funciona o inotify?

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_watcheinotify_rm_watchque 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 programainotifywaitfornece uma maneira simples de usar o inotify na linha de comando.

informação relacionada