Linux/Unix使用inotify与hook函数监控文件事件
发布时间
阅读量:
阅读量
在实际的开发过程中,常常会涉及大量文件相关操作,或需要对文件事件进行追踪与分析。当代码复杂度达到较高水平,或者项目本身采用多线程架构时(实际上,利用多线程处理磁盘文件IO并不被推荐)。此时,为了进行某些错误排查与分析,必须对文件事件进行检测,这就涉及到对文件IO事件的相关操作。
一,使用系统API Inotify来监控文件事件
在Linux操作系统中,能够借助inotify函数族实现对文件事件的监测功能。
通过调用inotify相关函数即可实现该任务。
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/inotify.h>
#define EVENT_SIZE (sizeof (struct inotify_event))
#define BUF_LEN (10 * (EVENT_SIZE + 256))
static const char * filetype[] = {"directory", "file
全部评论 (0)
还没有任何评论哟~
