Мониторинг изменений файлов в Linux с более старой версией glibc
Мне нужно отслеживать события в обычном файле, используя файловые дескрипторы. Я работаю на машине с CentOS 4.1 и версией ядра 2.6.18.128.
После понимания того, что обычный файл не может быть отслежен с помощью epoll
Я обнаружил, что эта задача может быть выполнена с помощью inotify
, Тем не менее, я читал в другом месте, что необходимые интерфейсы библиотеки для inotify
были добавлены в glibc в версии 2.4, и на моей машине установлена версия 2.3.4. Так что мое ядро поддерживает inotify, а не glibc. К сожалению, я не могу обновить glibc до более новой версии, потому что это нарушит некоторые другие части проекта.
Итак, мои вопросы:
- Могу ли я все еще использовать
inotify
контролировать обычный файл? Могу ли я получить более новую версию glibc и поместить ее в локальную папку (относительно моего кода), включить путь в мой Makefile и использовать вызовы, связанные сinotify
? Если да, то с какими проблемами я могу столкнуться? - Альтернативой может быть использование
fstat
, отслеживаяst_mtime
членstruct stat
состав. Любые предостережения против этого маршрута?
Если мои вопросы показывают отсутствие понимания этих концепций, пожалуйста, потерпите меня, поскольку я только начал их использовать.
1 ответ
Для 2 glibc смотрите следующий пост: несколько библиотек glibc на одном хосте
В противном случае inotify кажется прямым решением.