为什么`ping`在Linux中没有超时?

时间:2013-12-03 19:03:50

标签: linux ping

我刚才发现,Linux平台上的ping(Ubuntu 13.10)没有按照描述超时。我试过了

ping -w 2 unreachable.com

ping -W 2 unreachable.com

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

2 个答案:

答案 0 :(得分:10)

ping -c 5 -W 2将发出5次ping,每次最多等待2秒(总共最多10秒)。

ping -w 5会发出ping,但会在5秒后停止。

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

答案 1 :(得分:2)

你是否误解了旗帜?如果我理解正确:

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

  

等待响应的时间,以秒为单位。该选项仅影响任何响应的超时,否则ping等待两个RTT

所以像你一样运行并等待2秒并不能让你知道它是否已经放弃等待响应。