Browse - Programming Tips - How can my program efficiently detect when files in a

Date: 2007nov6
Library: FAM

Q.  How can my program efficiently detect when files in a
folder have changed?

A.  On Linux/Unix the answer is FAM (File Alteration Monitor).

More info here:
http://en.wikipedia.org/wiki/File_alteration_monitor

On Linux, inotify has replaced FAM:
http://en.wikipedia.org/wiki/Inotify
(Do "man inotify" for info)

These have a rather nice interface.  You open a folder
and wait on a read.   You get data when a change occurs.
Eventually, close the handle.  Its like reading a stream.

My only complaint is that, at least in my last try, they
could not monitor a tree.

On Windows, use FindFirstChangeNotification()
Its API is more painful.

Windows now has ReadDirectoryChanges and FileSystemWatcher.