2016-12-26 17 views
1

При программировании окон есть win32 api, которые позволяют нам отслеживать состояние файла или каталога: при изменении происходит уведомление о событии для функции обратного вызова пользователя. Например. при создании каталога в одном окне проводника будет также обновлено другое окно проводника, связанное с этим каталогом.На linux, как контролировать изменение файла/каталога, по системному вызову или команде оболочки?

Мой вопрос: как это сделать на Linux? Линукс предоставляет любой вызов sytem или posix api или shell для monitory файла/каталога?

Я знаю, что git может это сделать, но как git сделал это?

Спасибо!

ответ

3

Эквивалент Linux API является inotify:

Inotify API предоставляет механизм для мониторинга событий файловой системы. Inotify может использоваться для мониторинга отдельных файлов или для контроля каталогов. Когда каталог контролируется, inotify будет возвращать события для самого каталога и для файлов внутри каталога.