4

我是 D 语言的新手,正在寻找一种有效的方法来监视特定文件的更改。

最终我想要的是有一个观察者等待文件更改,然后根据文件的内容执行命令(将其视为纯文本队列列表)。

代码示例会很好,但指出我正确的方向也会非常有帮助。

此外,这将在 Linux 环境中运行。

更新

我正在使用系统实用程序来监视文件。

4

1 回答 1

8

如果你在 Linux 上,你可以使用inotify,在/usr/include/sys/inotify.h(在我的系统上$PREFIX可能会有所不同)中找到。

inotify 在许多需要对文件系统更改做出反应的情况下非常有用。如果没有 inotify,它可以通过定期(或手动请求)检查文件和目录来实现。但是这种方式很慢并且浪费处理器时间。inotify 带来了如何对文件系统更改做出反应的非常快速且经济的方法。

您唯一需要做的就是将此标头转换为“D 标头”,或者您使用DStep它可能能够为您翻译标头。

您可能还想fanotify使用inotify.

不幸的是,我不知道如何在 Windows 上做到这一点,我发现的只是一个 Windows-API 函数:FindFirstChangeNotification

于 2012-09-27T08:39:20.907 回答