方法三,用的文件方式
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
int main(void)
{
unsigned char buf[4],buffer[4];
FILE *fp;
int fd;
int i;
FILE f;
memset(buffer, 0, sizeof(buffer));
memset(buffer, 0, sizeof(buf));
fp = popen("cat /sys/class/net/eth0/operstate", "r");
if (!fp)
return -1;
fgets(buf, 5, fp);
//for(i=0; i<5; i++)
// printf("buf[%d]=%c\n", i, buf[i]);
sprintf(buffer, "down",4);
//for(i=0; i<4; i++)
// printf("buffer[%d]=%c\n", i, buffer[i]);
if(!strcmp(buffer, buf))
printf("link down\n");
else
printf("link up\n");
pclose(fp);
return 0;
}
linux下检测网线插拔(三)
最新推荐文章于 2023-04-24 09:50:34 发布
本文介绍了一种使用C语言通过读取特定文件来检测以太网卡(eth0)当前是否处于活动状态的方法。该方法利用了popen函数执行shell命令,并通过比较预期字符串判断网卡是处于工作状态还是已关闭。

912

被折叠的 条评论
为什么被折叠?



