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

Ale*_*lex 8 linux ping

我只是想通了,ping在Linux平台上(Ubuntu 13.10)没有按照描述超时.我试过了

ping -w 2 unreachable.com
Run Code Online (Sandbox Code Playgroud)

ping -W 2 unreachable.com
Run Code Online (Sandbox Code Playgroud)

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

Las*_*lko 11

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

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

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