На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Отслеживание изменения файла , Linux
    Требуется отслеживать изменения в заданном файле в ОС Linux.
    Единственное, что приходит в голову это периодически вызывать функцию stat (или fstat), и сравнивать время последнего доступа (или модификации) со значением времени полученого в предыдущем вызове stat.
    Есть ли другие способы? Нельзя ли это как-то реализовать спомощью сигналов?
      Если ядро более-менее новое (старше 2.6.13) - то есть inotify, который делает как раз то, что нужно.
      В userspace интерфейс для inotify появился начиная с glibc 2.4.

      В более старых ядрах был dnotify.

      man 7 inotify:
      ExpandedWrap disabled
        The  inotify  API  provides  a mechanism for monitoring file system events.
        Inotify can be used to monitor individual files, or to monitor directories.
        When a directory is monitored, inotify will return events for the directory itself,
        and for files inside  the directory.
         
        The following system calls are used with this API: inotify_init(), inotify_add_watch(),
        inotify_rm_watch(), read(), and close()


      Примерно как-то так: http://www.linuxjournal.com/article/8478
      Сообщение отредактировано: Самый маленький -
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0159 ]   [ 16 queries used ]   [ Generated: 1.05.24, 04:53 GMT ]