Como inutilizar o trabalho?

12

De acordo com Wikipedia ,

inotify is a Linux kernel subsystem which notices changes to the file system. It replaced the previous dnotify.

Programas que sincronizam arquivos (como crashplan, dropbox, git) recomendam nos guias do usuário que o usuário aumenta max_user_watches ( 1 , 2 , 3 ) .

Pelo que entendi sobre inotify, o sistema operacional é "informado" de que um arquivo foi alterado, em vez de exigir que o SO "procure" alterações.

Eu suponho que existe um arquivo "inotify" criado em cada diretório. Isso está correto? Existe uma maneira de interagir com o inotify a partir da linha de comando?

Recursos
Por que os eventos de inotificação são diferentes em uma montagem NFS?
Inotifywait para um grande número de arquivos em um diretório

    
por spuder 25.07.2013 / 03:53

1 resposta

19

O Inotify é um recurso interno do kernel. Não há "arquivo inotify". Existem chamadas de sistema dedicadas inotify_init , inotify_add_watch e inotify_rm_watch que permitem que os processos se registrem para ser notificado quando certos eventos do sistema de arquivos acontecerem. 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á mudando. É o aplicativo que informa que um arquivo foi alterado em vez de ter que procurar.

O programa inotifywait fornece uma maneira simples de usar o inotify a partir da linha de comando.

    
por 25.07.2013 / 04:08

Tags