栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用inotify的正确方法是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用inotify的正确方法是什么?

  • 文档(来自具有inotify的Monitor文件系统活动)

inotify
C API

inotify
提供了三个系统调用来构建各种文件系统监视器:

  • inotify_init()``inotify
    在内核中创建子系统的实例,并在成功和
    -1
    失败时返回文件描述符。与其他系统调用一样,如果
    inotify_init()
    失败,请检查
    errno
    诊断。
  • inotify_add_watch()
    顾名思义,它增加了一块 手表 。每个监视都必须提供路径名和相关事件的列表,其中每个事件都由常量指定,例如
    IN_MODIFY
    。要监视多个事件,只需在每个事件之间使用逻辑或-(C中的管道(|)运算符)。如果
    inotify_add_watch()
    成功,则该调用返回已注册手表的唯一标识符;否则,返回
    -1
    。使用标识符来更改或删除关联的手表。
  • inotify_rm_watch()
    删除手表。

read()
close()
还需要系统调用。给定描述符由产生
inotify_init()
,调用
read()
以等待警报。假定使用典型的文件描述符,应用程序将阻止等待事件接收,这些事件在流中表示为数据。从
inotify_init()
删除和释放所有活动的监视以及与inotify实例相关联的所有内存产生的文件描述符上的公共close()。(典型的引用计数注意事项在这里也适用。必须释放与实例关联的所有文件描述符,然后释放手表和inotify消耗的内存。)

  • 一个示例(来自Kernel Korner-介绍inotify)
#include "inotify.h"  #include "inotify-syscalls.h"  int wd;  wd = inotify_add_watch (fd,   "/home/rlove/Desktop", IN_MODIFY | IN_CREATE | IN_DELETE);if (wd < 0)      perror ("inotify_add_watch");

此示例在目录/ home / rlove / Desktop上添加了一个监视程序,用于进行任何修改,创建文件或删除文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号