当前位置: 首页 > news >正文

少女たちよ在线观看动漫游戏seo优化外链平台

少女たちよ在线观看动漫游戏,seo优化外链平台,社交网站建设内容,关于推进政府网站集约化建设的报告cat /proc/net/dev Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。…

cat /proc/net/dev
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

/proc文件系统中包含了很多目录,其中/proc/net/dev就是提供给用户读取或更改网络适配器及统计信息的途径。
注意:因为proc是伪文件系统,只存在内存中,所以这里统计的数据的时间起止时间是:系统启动到命令执行,如果此时系统发生重启,数据将会清零。
在这里插入图片描述

参数说明:
bytes: 接口发送或接收的数据的总字节数
packets: 接口发送或接收的数据包总数
errs: 由设备驱动程序检测到的发送或接收错误的总数
drop: 设备驱动程序丢弃的数据包总数
fifo: FIFO缓冲区错误的数量
frame: 分组帧错误的数量
colls: 接口上检测到的冲突数
compressed: 设备驱动程序发送或接收的压缩数据包数
carrier: 由设备驱动程序检测到的载波损耗的数量
multicast: 设备驱动程序发送或接收的多播帧数
其实,我们平时经常用的很多查看网卡实时流量的命令,都是通过读取该目录下的实时流量,并通过简单计算得到的。


#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>// 更改为你要监测的网卡名称,可以通过ifconfig获得
#define INTERFACE_NAME "ens33"unsigned long long ticBytes;
unsigned long long tocBytes;// 读取指定网卡的统计信息
int readInterfaceStats(const char *interfaceName, bool isTic) {FILE *file = fopen("/proc/net/dev", "r");if (file == NULL) {printf("Failed to open /proc/net/dev");return -1;}char line[256];while (fgets(line, sizeof(line), file)) {if (strstr(line, interfaceName) != NULL) {if (isTic) {// 读取bytes的相关信息,用%*s跳过无用字符串sscanf(line, "%*s %llu", &ticBytes);}else {sscanf(line, "%*s %llu", &tocBytes);}fclose(file);return 0;}}fclose(file);return -1;
}long *myIfconfig(char *interfaceName)
{int fd = open("/proc/net/dev", O_RDONLY | O_EXCL);if (-1 == fd){printf("/proc/net/dev not exists!\n");return NULL;}char buf[1024*2];lseek(fd, 0, SEEK_SET);int nBytes = read(fd, buf, sizeof(buf)-1);if (-1 == nBytes){printf("read error");close(fd);return NULL;}buf[nBytes] = '\0';close(fd);
//返回第一次指向netCard位置的指针char* pDev = strstr(buf, interfaceName);if (NULL == pDev){printf("don't find dev %s\n", interfaceName);return NULL;}char *p;char *ifconfigValue;int i = 0;static long rx2Tx10[2];
/*去除空格,制表符,换行符等不需要的字段*/for (p = strtok(pDev, " \t\r\n"); p; p = strtok(NULL, " \t\r\n")){i++;ifconfigValue = (char*)malloc(20);strcpy(ifconfigValue, p);
/*得到的字符串中的第二个字段是接收流量*/if(i == 2){rx2Tx10[0] = atol(ifconfigValue);}
/*得到的字符串中的第十个字段是发送流量*/if(i == 10){rx2Tx10[1] = atol(ifconfigValue);break;}free(ifconfigValue);}return rx2Tx10;
}int main()
{double interval = 1.0; // 采样间隔,单位为秒while (1) {if (readInterfaceStats(INTERFACE_NAME, true) == -1) {printf("Failed to read interface stats\n");return -1;}sleep((unsigned int)interval);if (readInterfaceStats(INTERFACE_NAME, false) == -1) {printf("Failed to read interface stats\n");return -1;}double kbps = (tocBytes - ticBytes) / interval / 1024;printf("receive speed is Kb/s: %.2f\n", kbps);long *ifconfigResult;double reKb;ifconfigResult = myIfconfig(INTERFACE_NAME);reKb = (double)ifconfigResult[0] / (1024);printf("Receive total: %0.2f KB\n", reKb);reKb = (double)ifconfigResult[1] / (1024);printf("Send total: %0.2f KB\n", reKb);}return 0;
}
http://www.zhongyajixie.com/news/10783.html

相关文章:

  • 餐饮网站建设可行性分析旅行网站排名前十名
  • 网络营销的网站分类有一级域名好还是二级域名好
  • 刚入手一手房怎么网上做网站厦门seo服务
  • 163免费企业邮箱优化seo厂家
  • 延边省建设局网站官网谷歌搜索排名
  • 集团网站怎么做好网站搜索引擎优化
  • 旅游网站建设背景软文推广发布
  • 图片做视频网站有哪些南京企业网站排名优化
  • 网站建设太仓中国万网官网登录
  • 张家港网站建设培训学校百度营销app
  • 网站开发工程师是干嘛的国家免费职业技能培训官网
  • 现在还有做静态网站的百度网页版链接地址
  • 能下载的网站百度天眼查公司
  • 建站公司网站论坛优化大师的优化项目有哪7个
  • 做网站的技术支持武汉网站优化公司
  • 做网站做软件怎么赚钱吗万网官网首页
  • 在上海做钟点工的网站搜索引擎网站有哪些
  • 个人微信公众号怎么做微网站网络推广营销方案100例
  • 阿里云服务器多个网站百度app登录
  • 包头网站 建设重庆疫情最新消息
  • 腾讯云ADM怎么做网站中国seo关键词优化工具
  • 手机端网站制作教程交换友情链接时需要注意的事项
  • 论坛网站备案流程图深圳高端seo公司助力企业
  • https网站搭建武汉seo服务多少钱
  • 官方网站在哪里做app软件大概多少钱
  • 分类网站发布信息有生意做吗怎么在百度发布个人简介
  • 拓普网站建设新品怎么推广效果最好
  • 百度网站建设微信封面手机免费建站系统
  • asp.net 网站写好后如何运行百度小程序入口官网
  • 建设银行苏州官网招聘网站关键词如何快速排名