Linux 查看网络是否断开(方式三)

原理

在命令行查看 /sys/class/net/eth0/carrier 即可知道网线是否拔了.

carrier:1      ----网线正常
carrier:0      ----网线断开 

拔掉网线的时候,同时debug也会输出提示 eth0 link down
只需要在应用层程序里面,读取carrier中的值 即可

实现

uint8_t eth0_status[2] ;
int skfd, eth0_ret ;
skfd = open("/sys/class/net/eth0/carrier", O_RDONLY) ;
 if(skfd < 0)
	 printf("cat eth0 error!\n") ;
 else
 	printf("cat eth0 success!\n") ;
lseek(skfd, 0, SEEK_SET) ;
 eth0_ret = read(skfd, eth0_status, 2) ;
 if(eth0_ret <0)
 	return;
 //printf("---status eth0 %c---\n", eth0_status[0]) ;
 if(eth0_status[0] == '0')
 {
 		//error
}
else
{
	//Normal status
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值