快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

C语言+shell实现linux网卡状态检测-创新互联

本文实例为大家分享了C语言+shell实现linux网卡状态检测的具体代码,供大家参考,具体内容如下

创新互联企业建站,十年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站设计、做网站中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

不解释,直接上代码 要求linux环境具备grep和awk(awk可选)

#include 
#include 
#include 
#include 
 
int get_if_status(char *if_name)
{
  char  buffer[BUFSIZ];
 char  cmd[100];
  FILE  *read_fp;
  int    chars_read;
  int    ret =0;
  
  memset( buffer, 0, BUFSIZ );
  memset( cmd, 0, 100 );
 sprintf(cmd, "ifconfig -a | grep %s",if_name);
  read_fp = popen(cmd, "r");
  if ( read_fp != NULL )
  {
    chars_read = fread(buffer, sizeof(char), BUFSIZ-1, read_fp);
 pclose(read_fp);
 
    if (chars_read > 0)
    {
      ret = 1;
    }
    else
    {
  fprintf(stderr, "%s: NO FOUND\r\n",if_name);
  return 0;
    }
  }
 
 if(ret == 1)
 {
 memset( buffer, 0, BUFSIZ );
 memset( cmd, 0, 100 );
 sprintf(cmd, "ifconfig |grep %s",if_name);
 read_fp = popen(cmd, "r");
 if ( read_fp != NULL )
 {
   chars_read = fread(buffer, sizeof(char), BUFSIZ-1, read_fp);
   pclose(read_fp);
  
   if (chars_read > 0)
   {
     ret = 2;
   }
   else
   {
  fprintf(stderr, "%s: DOWN\r\n",if_name);
  return 1;
   }
 }
 }
 
 if(ret == 2)
 {
 memset( buffer, 0, BUFSIZ );
 memset( cmd, 0, 100 );
 sprintf(cmd, "ifconfig %s | grep RUNNING | awk '{print $3}'",if_name);
 read_fp = popen(cmd, "r");
 if ( read_fp != NULL )
 {
   chars_read = fread(buffer, sizeof(char), BUFSIZ-1, read_fp);
   pclose(read_fp);
  
   if (chars_read > 0)
   {
  fprintf(stderr, "%s: LINKED\r\n",if_name);
  return 3;
   }
   else
   {
  fprintf(stderr, "%s: UNPLUGGED\r\n",if_name);
  return 2;
   }
 }
 }
 
 return -1;
}
 
 
int main(int argc, char* argv[])
{
  int i=0;
 if(argc != 2)
 {
 fprintf(stderr, "usage: %s ", argv[0]);
 return -1;
 }
 
  i = get_if_status(argv[1]);
  printf( "if_status = %d\n", i );
  return 0;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:C语言+shell实现linux网卡状态检测-创新互联
本文来源:http://6mz.cn/article/djgjde.html

其他资讯