zoukankan      html  css  js  c++  java
  • tailf实现代码

    最近在建立爬虫的自动化测试体系,这块要能够监测apache的access-log做验证,也就是类似tailf的功能,下面就是一个实现:

    int main(int argc, char **argv) {
        
    char buffer[BUFSIZ];
        size_t osize, nsize;
        FILE 
    *str;
        
    const char *filename;
        
    int count;

        
    if (argc != 2) {
            fprintf(stderr, 
    "Usage: tailf logfile\n");
            exit(
    1);
        }

        filename 
    = argv[1];

        
    //tailf(filename, 10);

        
    for (osize = filesize(filename);;) {
            nsize 
    = filesize(filename);
            
    if (nsize != osize) {
                
    if (!(str = fopen(filename, "r"))) {
                    fprintf(stderr, 
    "Cannot open \"%s\" for read\n", filename);
                    perror(argv[
    0]);
                    exit(
    1);
                }
                
    if (!fseek(str, osize, SEEK_SET))
                    
    while ((count = fread(buffer, 1sizeof(buffer), str)) > 0)
                        fwrite(buffer, 
    1, count, stdout);
                fflush(stdout);
                fclose(str);
                osize 
    = nsize;
            }
            usleep(
    250000); /* 250mS */
        }
        
    return 0;

    } 

  • 相关阅读:
    TCHAR转化为UTF8
    Chromium ID 计算方法
    构建之法感悟
    项目名称:上海地铁游
    统一入口的Ajax验证
    基于用户体验的服务型政府网站群建设优化方案
    新技术下的政府门户网站群建设建议
    国内CMS技术发展的外在表现形式
    JavaScript基础 BOM
    JavaScript基础 常见DOM树操作
  • 原文地址:https://www.cnblogs.com/welkinwalker/p/2087410.html
Copyright © 2011-2022 走看看