【问题标题】:c++ program to watch directory for alterationsc ++程序监视目录以进行更改
【发布时间】:2011-04-04 20:26:35
【问题描述】:

我正在寻找一种使用 C 或 C++ 编写程序的方法,该程序可以检测 Linux 系统的指定目录中是否有任何文件被更改、重命名、移动或删除。有没有办法做到这一点?

【问题讨论】:

    标签: c++ c linux directory


    【解决方案1】:

    你想要inotify(以及它的man page。)

    【讨论】:

    • 谢谢,我也会探索这种可能性
    • 好吧,我会选择这个
    【解决方案2】:

    查看inotify,我认为它仍然是最新的。

    您还可以使用包装 API,例如 glib 的 GIO GFileMonitor

    【讨论】:

      【解决方案3】:

      针对FAM 的程序。在当前的 Linux 系统上,此服务由 gamin 或类似应用程序提供。

      【讨论】:

      • 认为 FAM 已弃用,您应该改用 inotify。我说的对吗?
      • FAM 作为程序已被弃用,但其接口仍由 gamin 提供。
      • 谢谢,我会探索这种可能性
      • 有什么理由直接使用gamin而不是inotify? (可能是跨平台兼容性?)
      • 是的,跨平台兼容性是主要原因。不是很多平台都介意你,但比最近的版本更好。
      【解决方案4】:

      您也可以使用 Qt 及其 QFileSystemWatcher 类,使用起来非常简单。

      【讨论】:

      • 好吧,我退出了 Qt 用户,但是对于这个程序,我想使用更像 Inotify 的东西,但是谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      相关资源
      最近更新 更多