INOTIFY_INIT - Linux手册页

时间:2019-08-20 17:58:52  来源:igfitidea点击:

Linux程序员手册 第2部分
更新日期: 2020-04-11

名称

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

语法

#include <sys/inotify.h>

int inotify_init(void);
int inotify_init1(int flags);

说明

有关inotify API的概述,请参见inotify(7)。

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

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

IN_NONBLOCK
在新文件描述符引用的打开文件描述(请参见open(2))上设置O_NONBLOCK文件状态标志。使用此标志可以节省对fcntl(2)的额外调用,以实现相同的结果。
IN_CLOEXEC
在新文件描述符上设置执行时关闭(FD_CLOEXEC)标志。有关为什么可能有用的原因,请参见open(2)中O_CLOEXEC标志的描述。

返回值

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

错误说明

EINVAL
(inotify_init1())在标志中指定了无效的值。
EMFILE
已达到inotify实例总数的用户限制。
EMFILE
已达到打开文件描述符数量的每个进程限制。
ENFILE
已达到系统范围内打开文件总数的限制。
ENOMEM
内核内存不足。

版本

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

遵循规范

这些系统调用是特定于Linux的。

另外参见

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

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/