【问题标题】:handle pre-existing files with inotify使用 inotify 处理预先存在的文件
【发布时间】:2012-10-24 08:23:37
【问题描述】:

我正在监视目录中新文件的创建/移动。 我目前正在使用一个简单的 ls 循环,我想转到 inotify

我有一个主要问题:如何使用预先存在的文件进行初始化(以防崩溃、重启、停止……)?

最初,我只想监视 IN_CREATE 和 IN_MOVED_TO 但这不会处理预先存在的文件。

可以通过inotify原生处理吗?

【问题讨论】:

    标签: linux events loops inotify


    【解决方案1】:

    我建议你使用 iwatch 内部使用 inotify 的 perl 程序。(可以将其作为守护进程运行) 当您将其设置为带有文件的监视文件夹时,您只需在监视文件夹中运行touch *。这将更新文件的时间戳并触发 inotify 事件。

    如果您需要对创建或移动的文件执行某些操作,请小心使用 IN_CREATE 事件,因为该事件将在文件创建后立即触发。在这种情况下,您可以使用事件 CLOSE_WRITE,该事件将在文件关闭后触发。

    希望这会有所帮助!

    【讨论】:

    • 感谢您的及时答复。现在,我正在使用 pyinotify 在 python 中进行一些测试。我想避免使用 touch * 或玩符号链接。我的目标是在 C 中实现我的流程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多