假设我在/ tmp / myDir中有一个目录,其中文件由守护程序不断创建,修改和销毁。 我需要定期(每45秒)监视最后创建的文件。要做到这一点,我必须确定在上次检查后创建了哪些文件。 从c守护进程那里做到这一点的最佳方法是什么?
如果可能,该方法应避免在每次检查期间打开目录中的每个文件。
答案 0 :(得分:1)
inotify
非常漂亮......如果您不能使用它,我建议您为目录中的每个文件获取st_mtime
,并将其与(time(0) - 45)
进行比较。如果它更大,那么它在你的45秒窗口内。如果您不是创建一个持续运行的守护进程,请将您的可执行文件放在crontab
上。
答案 1 :(得分:0)
调用scandir
并使用filter
回调函数仅保留相关文件。你可能不得不在每个文件上使用fstat
。