紧接着上一篇的分享,继续做日志文件的读取,点击连接即可日志文件初始化https://blog.csdn.net/wjl990316fddwjl/article/details/135553238
1、将指针移动到文件末尾
//文件移动到结尾fseek(fp, 0, SEEK_END);
2、定义当前指针的位置
lastPosition = ftell(fp);
3、定义一个函数,循环读取日志 ,每次读取最新日志
//主循环void Main();
3.1、函数内容
void XAgent::Main()
{// 读取最新日志while (true){// 将文件指针移动到上次读取的位置fseek(fp, lastPosition, SEEK_SET);// 读取新添加的内容char buffer[1024];while (fgets(buffer, sizeof(buffer), fp) != nullptr){cout<<buffer<<endl;}// 更新 lastPosition 到文件末尾,以便下次读取新内容lastPosition = ftell(fp);// 等待一段时间再继续检查文件,可以有效解决cpu的问题this_thread::sleep_for(chrono::milliseconds(100));}
}
4、在主函数里面调用
XAgent::Get()->Main();
5、测试,开启两个终端,在一个终端运行agent代码,另一个终端用ssh连接服务器,输入密码之后,可以将运行结果同时展示在agent的终端上。
完结!!!!