Według Wikipedii ,
inotify to podsystem jądra Linuksa, który zauważa zmiany w systemie plików. Zastąpił poprzednie dnotify.
Programy, które synchronizują pliki (takie jak crashplan, dropbox, git), zalecają w instrukcjach użytkownika zwiększenie liczby użytkowników max_user_watches
( 1 , 2 , 3 ).
Z tego, co rozumiem na temat inotify, system operacyjny jest „informowany”, że plik został zmieniony, zamiast wymagać od systemu operacyjnego „szukania” zmian.
Zakładam, że w każdym katalogu jest utworzony plik „inotify”. Czy to jest poprawne? Czy istnieje sposób interakcji z inotify z wiersza poleceń?
Zasoby
Dlaczego zdarzenia inotify różnią się w przypadku montażu NFS?
Inotifywait dla dużej liczby plików w katalogu
grep --exclude=arch -r inotify
w źródłach jądra Linux.Odpowiedzi:
Inotify jest wewnętrznym narzędziem jądra. Nie ma „pliku inotify”. Są dedykowane wywołania systemowe
inotify_init
,inotify_add_watch
ainotify_rm_watch
które umożliwiają procesy zarejestrować się być powiadomiony, gdy pewne zdarzenia systemu plików zdarzyć. Kiedy zdarzenie ma miejsce, proces otrzymuje opis zdarzenia za pośrednictwem deskryptora pliku zwróconego przezinotify_init
.System operacyjny nie jest „informowany”, że plik został zmieniony: wie, bo to zmienia. Jest to aplikacja, która poinformowała, że plik został zmieniony zamiast szukać.
Program
inotifywait
zapewnia prosty sposób użycia inotify z wiersza poleceń.źródło