inotify_init(2) - Linux 手册页

名称

inotify_init, inotify_init1 - 初始化一个 inotify 实例

概要

#include <sys/inotify.h>
int inotify_init(void);int inotify_init1(int flags);

描述

inotify_init() 初始化一个新的 inotify 实例,并返回与一个新的 inotify 事件队列关联的文件描述符。

如果 flags 为 0,则 inotify_init1() 与 inotify_init() 相同。以下值可以按位或运算到 flags 中以获得不同的行为

IN_NONBLOCK
在新打开的文件描述上设置 O_NONBLOCK 文件状态标志。使用此标志可节省额外的 fcntl(2) 调用。
IN_CLOEXEC
在新文件描述符上设置执行时关闭 (FD_CLOEXEC) 标志。有关此标志的用途,请参阅 open(2) 中关于 O_CLOEXEC 标志的说明。

返回值

成功时,这些系统调用返回一个新的文件描述符。 发生错误时,返回 -1,并且 errno 被设置为指示错误。

错误

EINVAL
(inotify_init1()) flags 中指定了一个无效的值。
EMFILE
已达到 inotify 实例的总用户限制。
ENFILE
已达到文件描述符的总系统限制。
ENOMEM
可用的内核内存不足。

版本

inotify_init() 首次出现在 Linux 2.6.13 中;库支持在 glibc 2.4 版本中添加。inotify_init1() 在 Linux 2.6.27 中添加;库支持在 glibc 2.9 版本中添加。

符合

这些系统调用是 Linux 特有的。

参见

inotify_add_watch(2), inotify_rm_watch(2), inotify(7)