[英]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.