Мониторинг изменений файлов в Linux с более старой версией glibc

Мне нужно отслеживать события в обычном файле, используя файловые дескрипторы. Я работаю на машине с CentOS 4.1 и версией ядра 2.6.18.128.

После понимания того, что обычный файл не может быть отслежен с помощью epollЯ обнаружил, что эта задача может быть выполнена с помощью inotify, Тем не менее, я читал в другом месте, что необходимые интерфейсы библиотеки для inotify были добавлены в glibc в версии 2.4, и на моей машине установлена ​​версия 2.3.4. Так что мое ядро ​​поддерживает inotify, а не glibc. К сожалению, я не могу обновить glibc до более новой версии, потому что это нарушит некоторые другие части проекта.

Итак, мои вопросы:

  1. Могу ли я все еще использовать inotify контролировать обычный файл? Могу ли я получить более новую версию glibc и поместить ее в локальную папку (относительно моего кода), включить путь в мой Makefile и использовать вызовы, связанные с inotify? Если да, то с какими проблемами я могу столкнуться?
  2. Альтернативой может быть использование fstat, отслеживая st_mtime член struct stat состав. Любые предостережения против этого маршрута?

Если мои вопросы показывают отсутствие понимания этих концепций, пожалуйста, потерпите меня, поскольку я только начал их использовать.

1 ответ

Решение

Для 2 glibc смотрите следующий пост: несколько библиотек glibc на одном хосте

В противном случае inotify кажется прямым решением.

Другие вопросы по тегам