使用inotify处理预先存在的文件

时间:2012-10-24 08:23:38

标签: linux events loops inotify

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

我遇到一个主要问题:如何使用预先存在的文件处理初始化(如果发生崩溃,重启,停止......)?

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

可以通过inotify本地处理吗?

1 个答案:

答案 0 :(得分:1)

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

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

希望这有帮助!