Listen to file changes

Arthur Chance freebsd at qeng-ho.org
Fri Dec 14 11:09:23 UTC 2012


On 12/14/12 10:34, Polytropon wrote:
> On Fri, 14 Dec 2012 01:45:43 -0800 (PST), Jack Mc Lauren wrote:
>> Hi all
>> I want to monitor files access and change time. How can I
>> listen to specific file or directory to monitor ? I'm coding with c.
>
> If I remember correctly, what you're searching for does already
> exist: FAM - the File Alteration Monitor. It's in the ports
> collection (/usr/ports/devel/fam). There are also C++ and
> Ruby bindings, maybe you can also interface with C...
>
> For C: Maybe using readdir() et al. could be useful? Also see
> "man 5 inode", "man 5 dir" and "man 3 readdir" for more info.
> And struct ufs2_dinode in /usr/include/ufs/ufs/dinode.h should
> have the information you need to parse for; maybe also check
> the FILE type in /usr/include/stdio.h for access flags.

See also kevent(2) and the EVFILT_VNODE system filter.



More information about the freebsd-questions mailing list