<pre name="code" class="cpp"> #include<stdio.h>
#include<string.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<signal.h>
#include <sys/inotify.h>
#include<time.h>
#if 0
1. 执行时 输入格式为: ./a.out 日志文件名 要监控的文件/目录
2. 只监控目录下的一级子目录,若监控目录下所有文件,可以在开一个进程,递归遍历父目录,遇到目录便将目录名传入监控函数并调用
3. 若在一个守护进程中监控所有文件 则建立一个数组保存所有目录名,然后调用inotify_add_watch将目录逐个添加进去
4. 代码比较乱
#endif
struct messags
{
uint32_t num;
char *mes;
};
struct messags mess[]={
{IN_ATTRIB, " IN_ATTRIB"}, //文件属性被改变
{IN_CREATE, " IN_CREATE"}, //文件被创建
{IN_DELETE, " IN_DELETE"}, //文件被删除
{IN_DELETE_SELF, " IN_DELETE_SELF"}, //文件/目录本身被删除
{IN_MODIFY, " IN_MODIFY"}, //文件被修改
DEMON进程+inotify自动生成系统级文件操作日志demo
最新推荐文章于 2021-04-30 04:33:09 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)