Linux 文件事件监控与内存管理技术解析
1. inotify 实例添加新监控
可以向现有的 inotify 实例添加新的监控。示例代码如下:
int wd; wd = inotify_add_watch (fd, "/etc", IN_ACCESS | IN_MODIFY); if (wd == -1) { perror ("inotify_add_watch"); exit (EXIT_FAILURE); }此示例为/etc目录的所有读写操作添加了监控。若/etc目录中的任何文件被读写,inotify 会向 inotify 文件描述符fd发送事件,并提供监控描述符wd。
2. inotify 事件结构
<inotify.h>中定义的inotify_event结构体用于表示 inotify 事件:
#include <sys/inotify.h> struct inotify_event { int wd; /* watch descriptor */ uint32_t mask; /* mask of events */ uint32_t cookie; /* unique cookie */ ui