我正在尝试编写一个基于事件的 c/c++ 程序,该程序检测网络电缆或物理链路(载波信号)中断的次数以及链路中有多少数据包丢失。对于丢包,我希望它每秒检查一次。理想情况下,伪代码应该是这样的;
//C program for checking how many times physical link went down
if(event==physical_link_down)
{
link_down++;
}
//separate C program for packet loss
while(true)
{
check_packet_loss;
sleep(1);
}
如果我是正确的,我可以通过执行 ifconfig 获得以下信息,其中“RUNNING”一词表示我们有一个活动的物理链路,并且可以从丢弃/错误字段中计算数据包丢失。
顺便说一句,我正在使用 Ubuntu 操作系统。
我正在考虑通过我的 C 程序对 ifconfig 进行 grep 以获取所需的信息。我的方法正确吗?其次,我如何通过 C 程序 grep,因为我不知道该怎么做?已经提出了类似的问题,但大多数问题是针对 Windows 环境提出的。任何帮助将不胜感激!:)