Zalety Inotify posiada kilka zalet w stosunku do dnotify, modułu jądra który zastąpił. W starszym module program musiał używać jednego deskryptora pliku na każdy monitorowany katalog. Oznaczało to możliwość szybkiego wyczerpania się limitu ilości deskryptorów pliku na proces. Dodatkowo używanie deskryptorów plików przez dnotify było problemem w przypadku, gdy system plików mieścił się na wyjmowalnym nośniku danych. Wtedy ten nośnik nie mógł być odmontowany, ponieważ otwarte deskryptory plików wskazywały na jego zajętość. Inna wada dnotify to niska ziarnistość monitoringu, tzn. można było kontrolować tylko zmiany na poziomie katalogów. By zbadać, co dokładnie się w danym katalogu zmieniło, trzeba było dodatkowo używać struktur stat. Programiści byli zmuszeni wtedy do utrzymywania kolekcji tych struktur i gdy następowała zmiana w danym katalogu, to trzeba było utworzyć nową strukturę stat w celu porównania jej z poprzednio utrzymywanymi i określeniu charakteru tych zmian.

Zasada działania Inotify używa się za pomocą serii wywołań systemowych stworzonych dla inotify.

Na początku tworzy się instancję inotify,

int inotify_init()

które zwraca deskryptor pliku, z którego czytane są wszystkie zdarzenia.