【问题标题】:How do I (recursively?) monitor contents of new directories using inotify?如何(递归?)使用 inotify 监视新目录的内容?
【发布时间】:2013-11-24 20:36:15
【问题描述】:

首先,我想首先使用 inotify 来监视特定目录(主目录)中的文件和子目录。如果将新目录添加到此主目录中,我将如何确保使用 inotify 监视此子目录?我如何监控主目录的这个子目录中的新目录?

我认为通过使用inotify_add_watch() 函数将其添加到手表很容易,但我不知道如何获取子目录中文件和目录的正确相对路径地址(用于类似 Dropbox 的同步例如,在保持正确的目录树的同时保持不同的位置)。

【问题讨论】:

标签: c unix directory inotify


【解决方案1】:

那么最快的实施(但实际上不是最快的)是:

  1. 通过递归探索子目录创建初始目录树;可以在此处找到 C/Linux 中的示例:

    http://www.lemoda.net/c/recursive-directory/

  2. 为每个子目录添加一个监视;当某些内容被修改或更改时,您可以递归地解析所有子项并查看差异。这里讨论了类似的事情: How to monitor a folder with all subfolders and files inside?

  3. 如果此解决方案对您没有吸引力,您可能会尝试执行轮询机制,以便您必须在特定时间间隔使用线程重新检查整个结构。

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2012-07-29
    相关资源
    最近更新 更多