C - libevent在文件删除/修改



是否可以使用libevent来监视文件删除/更新?

假设/var/log/file.我想在我的程序中报告它。这可能吗?如果是,怎么做?

我的操作系统是Linux,我想创建一个恶魔,在某些操作系统操作时触发消息。

我在哪里可以找到更多的信息?

如果您的代码特别针对Linux,则可以使用inotify(7)工具。它有一个非常简单的编程接口,用于监视文件的更改和删除,而libevent的目的略有不同:监视一组描述符,并在它们中的任何一个准备好读/写时发出通知。

我不确定libevent是否包装了inotify,因为libevent支持的所有其他操作系统都没有提供类似的功能。

只需使用一些简单的逻辑就可以检查该文件是否已删除

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
struct stat st = {0};
if (stat("/var/log/file.1", &st) == -1) {
    printf("file is deleted or not present");
}

还可以通过检查struct stat

的另一个元素来检查文件的更多属性

相关内容

  • 没有找到相关文章

最新更新