为什么在Linux中ping不超时?

为什么在Linux中ping不超时?,linux,ping,Linux,Ping,我刚刚发现,在Linux平台(Ubuntu13.10)上,ping不会像前面所描述的那样超时。我试过了 ping -w 2 unreachable.com 及 但在这两种情况下,2秒后都没有超时。如何在有明确超时的情况下使用ping?那有可能吗?我希望命令在2秒钟后停止,无论连接状态如何 ping-c5-w2将发出5次ping,每个ping最多等待2秒(总共最多10秒) ping-w5将发出ping,但会在5秒后停止 必须小心名称解析:如果使用名称而不是IP地址,则名称解析不计入这些超时和等待

我刚刚发现,在Linux平台(Ubuntu13.10)上,
ping
不会像前面所描述的那样超时。我试过了

ping -w 2 unreachable.com


但在这两种情况下,2秒后都没有超时。如何在有明确超时的情况下使用
ping
?那有可能吗?我希望命令在2秒钟后停止,无论连接状态如何

ping-c5-w2
将发出5次ping,每个ping最多等待2秒(总共最多10秒)

ping-w5
将发出ping,但会在5秒后停止


必须小心名称解析:如果使用名称而不是IP地址,则名称解析不计入这些超时和等待(ping和时间测量仅在名称解析完成后开始)。如果您使用DNS,您可以在
/etc/resolv.conf
中设置DNS超时-请参阅其手册页。

您是否误解了该标志?如果我理解正确:

-W标志将指定等待答复的时间。通过设置-W 2,根据手册页:

等待响应的时间,以秒为单位。该选项仅在没有任何响应的情况下影响超时,否则ping将等待两个rtt


因此,像您那样运行它并等待2秒钟实际上并不会让您知道它是否已放弃等待响应。

在我的13.04安装程序上运行良好。等待2秒钟,然后bails.ping-w2在一个盒子上工作,在我的FC14盒子上是ping-t2,我在NixOS上也遇到了类似的问题。
ping -W 2 unreachable.com