6

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

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

4

1 回答 1

6

那么最快的实施(但不是现实中最快的)将是:

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

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

  2. 为每个子目录添加一个监视;当某些内容被修改或更改时,您可以递归地解析所有子项并查看差异。这里讨论了类似的事情: 如何监视包含所有子文件夹和文件的文件夹?

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

希望能帮助到你!

于 2013-11-12T16:16:24.580 回答