2016-12-26 1 views
1

Sous la programmation de Windows, il y a win32 api qui nous permet de surveiller l'état d'un fichier ou d'un répertoire: lorsqu'il est modifié, il y a une notification d'événement pour une fonction de rappel utilisateur. Par exemple. Lors de la création d'un répertoire dans une fenêtre de l'explorateur, une autre fenêtre de l'explorateur liée à ce répertoire sera également rafraîchie.Sur Linux, comment surveiller le changement d'un fichier/répertoire, par appel système ou commande shell?

Ma question: comment faire cela sur Linux? Est-ce que linux fournit un appel sytem ou une commande posix api ou shell pour contrôler un fichier/répertoire?

Je sais que git peut le faire, mais comment git l'a fait?

Merci!

Répondre

3

L'équivalent API Linux est inotify:

Le inotify API fournit un mécanisme de surveillance des événements du système de fichiers. Inotify peut être utilisé pour surveiller des fichiers individuels ou pour surveiller des répertoires. Quand un répertoire est surveillé, inotify retourne des événements pour le répertoire lui-même, et pour les fichiers à l'intérieur du répertoire.