use*_*277 15 c++ linux file-monitoring
我正在使用linux,我有一个目录,其中有子目录,子目录中有文件.我必须监视文件中的更改.在C++中我使用boost.我每隔30秒检查一次所有目录并查看last_write_time.原则上,它的工作原理.但每次执行此操作时,我的CPU都会疯狂,我看到15%-25%的CPU使用率仅适用于此程序.我读过关于inotify的文章.如果我使用inotify,我会有或多或少相同的CPU使用率,还是会改进?我正在做什么有什么好的选择吗?
Veg*_*ger 16
使用inotify时,不需要轮询所有文件以检查是否有更改.您将获得一个回调系统,该系统会在监视文件或目录发生更改时通知您.
内核/文件系统已经有了这些信息,因此资源/ CPU的使用不仅仅是移动到另一个应用程序,它实际上已经减少了.
使用inotify监视文件系统活动提供了有关使用inotify的更多详细信息,显示了其基本用法并帮助您进行设置.
| 归档时间: |
|
| 查看次数: |
18619 次 |
| 最近记录: |