inotify_add_watch(2) - Linux 手册页
名称
inotify_add_watch - 向已初始化的 inotify 实例添加监视概要
#include <sys/inotify.h>int inotify_add_watch(int fd, const char *pathname, uint32_t mask);
描述
成功调用 inotify_add_watch() 会返回与此 inotify 实例的 pathname 关联的唯一监视描述符。如果 pathname 之前未被此 inotify 实例监视,则会分配新的监视描述符。如果 pathname 已经正在被监视,则返回现有监视的描述符。
监视描述符由后续从 inotify 文件描述符进行的 read(2) 读取返回。这些读取获取 inotify_event 结构体(参见 inotify(7)),指示文件系统事件;该结构体内的监视描述符标识发生事件的对象。
返回值
成功时,inotify_add_watch() 返回一个非负监视描述符。发生错误时返回 -1,并且 errno 会被相应地设置。错误
- EACCES
- 不允许访问给定文件。
- EBADF
- 给定的文件描述符无效。
- EFAULT
- pathname 指向进程可访问地址空间之外的位置。
- EINVAL
- 给定的事件掩码不包含任何有效的事件;或者 fd 不是 inotify 文件描述符。
- ENOENT
- pathname 中的一个目录组件不存在或是一个断开的符号链接。
- ENOMEM
- 内核内存不足。
- ENOSPC
- 达到了 inotify 监视总数的用户限制,或者内核未能分配所需的资源。