我想inotify在Linux上使用该机制。我希望我的应用程序知道何时aaa更改了文件。能否请您提供给我一个示例,该怎么做?
inotify
aaa
在inotifyC API
inotify 提供了三个系统调用来构建各种文件系统监视器:
inotify_init()``inotify
-1
inotify_init()
errno
inotify_add_watch()
IN_MODIFY
inotify_rm_watch()
在read()和close()还需要系统调用。给定描述符由产生inotify_init(),调用read()以等待警报。假定使用典型的文件描述符,应用程序将阻止等待事件接收,这些事件在流中表示为数据。从inotify_init()删除和释放所有活动的监视以及与inotify实例相关联的所有内存产生的文件描述符上的公共close()。(典型的引用计数注意事项在这里也适用。必须释放与实例关联的所有文件描述符,然后释放手表和inotify消耗的内存。)
read()
close()
#include "inotify.h" #include "inotify-syscalls.h" int wd; wd = inotify_add_watch (fd, "/home/rlove/Desktop", IN_MODIFY | IN_CREATE | IN_DELETE); if (wd < 0) perror ("inotify_add_watch");
此示例在目录/ home / rlove / Desktop上添加了一个监视程序,用于进行任何修改,创建文件或删除文件。