inotify是Linux内核提供的文件系统事件监控机制,在Ubuntu中通过以下方式工作:
inotify_init、inotify_add_watch)与内核模块通信,初始化监控实例并指定监控路径及事件类型。inotify_event结构体并放入队列。read系统调用读取队列中的事件,解析事件类型(如IN_CREATE对应文件创建)及文件路径等信息。inotify_add_watch注册时返回,用于关联事件与路径。IN_MODIFY | IN_DELETE)指定需监听的事件类型,支持组合多个事件。关键命令与工具:
inotifywait/inotifywatch:直接监控文件/目录,输出事件信息(如inotifywait -m -e create,delete /path)。限制:
/proc/sys/fs/inotify/max_user_watches调整。IN_MOVED_FROM/IN_MOVED_TO事件处理。