【发布时间】:2011-04-10 21:44:50
【问题描述】:
我正在用 C 语言为 linux 编写一个程序,该程序在一段时间内每 x 秒扫描一次目录以进行修改,但我无法确定何时创建文件或目录。以下是我考虑的几个选项:
使用 stat 结构体,检查上次状态变化和数据修改时间戳是否相同。这带来了一个问题,您可以创建一个文件,在程序有机会检查它之前对其进行修改,这会更改数据修改时间戳并且不再将其视为新文件。
记录目录中每个文件/目录的名称并检查新的。这有一个问题,您删除一个文件,然后创建一个具有相同名称的新文件,它不会被解释为一个新文件。
记录文件/目录的数量。与上一个想法类似的问题。
话虽如此,有人知道我如何唯一地识别文件/目录的创建吗?
【问题讨论】:
-
这取决于您的编码环境。现代操作系统通常会实现一种方法来监视目录的更改。
-
不要重新发明轮子,使用特定于操作系统的机制。
标签: c file posix stat dirent.h