首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux,inotify -如何订阅?

linux,inotify -如何订阅?
EN

Stack Overflow用户
提问于 2010-11-01 15:58:32
回答 4查看 1.2K关注 0票数 5

你能给我解释一下inotify机制吗?我在网上搜索过,但我所理解的是,如果我想要查看文件中的更改,我必须使用“read”函数进行轮询。有没有回调函数可以在文件发生变化时通知我,而不需要轮询?

谢谢,

EN

回答 4

Stack Overflow用户

发布于 2010-11-01 17:10:27

我推测您正在使用一些为您处理事件的GUI库。

更好的GUI库有一种监视文件描述符的方法。在GTK中,它是gtk_input_add_full;在Qt中,QSocketNotifier可能适合您。

票数 2
EN

Stack Overflow用户

发布于 2010-11-02 00:34:26

inotify调用使用文件描述符。您可以在select()系列调用中使用返回的FD,而不是轮询。它不完全是一个回调函数,但是减少了你所关心的开销。

票数 1
EN

Stack Overflow用户

发布于 2011-04-21 02:59:26

您可以使用libev库的ev_io部分。这将允许您在inotify fd可读时设置一个回调。

libev的文档可以在这里找到:http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4067373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档