【发布时间】:2013-02-03 22:41:27
【问题描述】:
我正在使用 linux,我有一个包含子目录和文件的目录 子目录里面。我必须监视文件中的更改。在 C++ 中,我使用的是 boost。我每 30 秒浏览一次所有目录并检查 last_write_time。主要是,它有效。但是每次执行此操作时,我的 CPU 都会发疯,我看到 15%-25% 的 CPU 使用率 只是为了这个程序在顶部。我已经阅读了有关 inotify 的信息。如果我使用 inotify,我的 CPU 使用率会或多或少相同,还是会得到改善?我正在做的事情有什么好的选择吗?
【问题讨论】:
-
性能将大大提高,因为您不必遍历所有文件和子目录。相反,当文件或目录发生更改时,您会收到通知。 Inotify 可能是在 Linux 上运行的最佳方式。
-
感谢 Joachim 的输入。我会试试的。
标签: c++ linux file-monitoring