你能给我解释一下inotify机制吗?我在网上搜索过,但我所理解的是,如果我想要查看文件中的更改,我必须使用“read”函数进行轮询。有没有回调函数可以在文件发生变化时通知我,而不需要轮询?
谢谢,
发布于 2010-11-01 17:10:27
我推测您正在使用一些为您处理事件的GUI库。
更好的GUI库有一种监视文件描述符的方法。在GTK中,它是gtk_input_add_full;在Qt中,QSocketNotifier可能适合您。
发布于 2010-11-02 00:34:26
inotify调用使用文件描述符。您可以在select()系列调用中使用返回的FD,而不是轮询。它不完全是一个回调函数,但是减少了你所关心的开销。
发布于 2011-04-21 02:59:26
您可以使用libev库的ev_io部分。这将允许您在inotify fd可读时设置一个回调。
libev的文档可以在这里找到:http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod
https://stackoverflow.com/questions/4067373
复制相似问题