如何倒回proc文件

时间:2015-02-03 03:33:30

标签: c linux-kernel

我试图定期读取proc文件/ proc / stat(200ms),我试图避免每次都打开和关闭proc文件。

由于proc文件没有与之关联的大小,因此fseek和rewind不起作用。如果我错了,请纠正我。 (我记得一些proc文件确实有与它们相关的大小,但/ proc / stat肯定没有一个)

重置proc文件的读指针启动的​​正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我发现rewind效果很好

#include <stdio.h>
int main() {
    FILE* fin = fopen("/proc/stat", "r");
    if (!fin) {
        perror("fopen");
        return -1;
        }
    char buf[16*1024];
    while(1) {
        rewind(fin);
        size_t sz = fread(buf, 1, sizeof(buf), fin);
        if (sz) {
            buf[sz]=0;
            printf(buf);
            }
        sleep(5);
        }
    return 0;
    }