繁体   English   中英

在Linux中设置默认ping截止日期

[英]set default ping deadline in linux

我想在某些设置文件中设置默认的ping截止日期。 尝试连接到非ping IP地址时,我的程序挂起。

在终端中,我可以调用“ ping 123.0.0.1 -w 5”,它不会永远持续下去,但是我无法在代码中设置任何截止日期。

外壳解决方案:

在您的.bashrc添加以下内容:

function ping {
    /bin/ping $@ -w5
}

这将创建一个包装函数,该函数会将所有ping调用的超时设置为5秒

注意:上面的版本将覆盖命令行中使用的-w参数。 如果您仍然希望能够通过命令行覆盖默认超时,而不是在$@之前放置-w5

function ping {
    /bin/ping -w5 $@
}

纯C解决方案:

为了简洁起见,我在这里不举一个完整的例子。 例如,您可以在这里找到一个。 在给定的示例中,您将必须替换读取ICMP响应的recvfrom()调用,并且可能会被带有超时的select()poll()调用阻塞。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM