Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под *nix > Общие вопросы программирования
Перезагрузить страницу Как поймать событие об изменении состояния директории
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Andrey1 Andrey1 вне форума
Member
 
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию Как поймать событие об изменении состояния директории - 14.11.2004, 15:32

Привет,
Можно ли отслеживать изменения в директории (добавление и удаление файлов или изменение информации о файлах)?

Например, запускаешь приложение и начинаешь паралельно что-то делать с файловой системой, а приложение тебе пишет: "такое-то изменение в такой-то директории" и т.п... Думаю нужно как-то взаимодействовать с ядром, но как и что не знаю.

Может кто сталкивался?


Андрей
Ответить с цитированием
  (#2 (permalink)) Старый
grustnoe grustnoe вне форума
Member
 
Сообщений: 496
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 08.11.2003
По умолчанию 15.11.2004, 00:43

man fcntl про F_NOTIFY
Ответить с цитированием
  (#3 (permalink)) Старый
Andrey1 Andrey1 вне форума
Member
 
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 16.11.2004, 20:19

В Documentation ядра есть dnotify.txt - это вроде как раз о том, что я спрашивал. Правда пример из доки почему-то не заработал (скомпилился нормально).
Ответить с цитированием
  (#4 (permalink)) Старый
pawnhearts pawnhearts вне форума
Member
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.09.2007
По умолчанию 24.09.2007, 22:57

Цитата:
Можно ли отслеживать изменения в директории (добавление и удаление файлов или изменение информации о файлах)?
Это умеет libgamin
Ещё gobject это умеет, но это предполагает наличие в системе кучи библиотек.

quick and dirty - какой-нибудь такой скрипт
Код:
#!/bin/bash
WPATH=/tmp
oldsum=$(find $WPATH |md5sum)
while true
do
newsum=$(find $WPATH |md5sum)
if [ "$newsum"!="$oldsum" ] then
# какие-то действия
echo "alert! alert!"
fi
oldsum=$newsum
done
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как прочитать флаг состояния радиокнопки AndAsh Prolog 4 07.03.2011 12:04
Скачать файл с директории выше директории сервера Shota PHP 1 17.01.2011 23:26
Как поймать событие, программируя под Excel? impressionist Visual Basic 1 25.12.2006 14:34
Как поймать изменение содержимого CDateTimeCtrl lpn_com Visual C++ 1 15.10.2006 19:16
Как поймать исключение VCL antonio85 C++ Builder 2 25.03.2005 17:32
Как поймать входящее подключение по модему Knight C++ Builder 3 16.02.2005 16:50
Как поймать клик на заголовок CListCtrl Vladimir the Red Sunny Visual C++ 7 01.02.2005 12:59
Как поймать сообщение Net send Merl1n Visual C++ 5 06.12.2004 13:16
Как поймать сообщения от слайдера на CDialogBar RoboTact Visual C++ 3 13.08.2004 16:10
Проверка строки состояния на приложении Junior Delphi 1 14.07.2004 12:21
Как поймать момент подключения к интернету Garik WinAPI 1 05.03.2004 22:29
Опрос состояния мобильных телефонов Anonymous C++ Builder 1 09.11.2003 12:15



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов