среда, 9 февраля 2011 г.

Мониторинг директорий в linux с использованием inotify

Совсем недавно я экспериментировал с dnotify - http://kilork.blogspot.com/2011/01/linux-dnotify.html. Штука уже вполне успешно работает, не требует кушать, но все же что-то не дает покоя. Ах вот оно что, интерфейс то устаревший, нормальные люди так не работают. Приходится признать, в своих познаниях по ядерным интерфейсам я отстаю лет на 10. Ну, надо как-то наверстывать.

Итак, inotify. Логичное развитие dnotify. Проще, лучше, надежнее. Вечер перед монитором, и готова новая версия утилиты для мониторинга:


Компилируется также просто, как и в прошлый раз:
gcc inotify.c -o inotify

Ну и поведение программки не отличается:
./inotify "echo hello" .
по прежнему запускает слушание текущей директории с выводом 'hello' при любом телодвижении в этой директории. Зато есть масса плюсов, да и просто, код значительно легче читается.

Исходные коды доступны в hg-репозитории по адресу http://kilork.org/public/notify/.

З.Ы. При первой публикации не хватало wait(), что приводило к толпам зомби, поправил.

Комментариев нет: