您的位置:首页 > 运维架构 > Linux

Linux下用c实现通过ping检测连接

2015-09-10 17:56 393 查看

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>

// 通过ping命令来检测是否掉线
int ping(char *ip)
{
int i, status;
pid_t pid;

// 不同则循环检测多次
for (i = 0; i < 3; ++i)
{
// 新建一个进程来执行ping命令
if ((pid = vfork()) < 0)
{
printf("vfork error");
continue;
}

if (pid == 0)
{
// 执行ping命令
if (execlp("ping", "ping", "-c 1", ip, (char*)0) < 0)
{
printf("execlp error\n");
exit(1);
}
}

waitpid(pid, &status, 0);

// 相等说明正常
if (status == 0)
return 0;

sleep(2);
}

return -1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 linux ping