我在 C 中实现了一个 SMTP-sender,它应该在创建目录时从目录中读取文件,处理数据并删除文件。
如何实现这个应该自动执行的轮询功能?
一个简单的选择是定期从cron运行您的程序。该程序可以使用 Linux API 调用readdir来遍历目录。它不必主动监视目录。
这是一个简单的代码示例:
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main()
{
DIR* dp = opendir(".");
struct dirent* de;
while (de = readdir(dp))
{
if (de->d_type != DT_REG) // Only print regular files
continue;
printf("Found file %s\n", de->d_name);
}
closedir(dp);
}
免责声明:为了简单起见,我没有包含检查或处理错误条件的代码。