ping -W 如何工作

ping -W 如何工作

我想尝试使用 ping 来检测服务器是否宕机。因此,我的想法是让某个东西永远 ping 下去,然后如果 ping 超时(-W 标志),它会返回,我就能检测到它。但是,如果我 ping 一个无法访问的地址,ping 似乎会永远阻塞,我预计它会超时并返回。

ping 1.1.1.1 -W 1 -v
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
^C
--- 1.1.1.1 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9071ms

答案1

ping没有被阻止,只是在运行时没有显示失败的传输。

查看停止时的统计数据。

10 packets transmitted, 0 received, 100% packet loss, time 9071ms

您会看到数据包已发送但未接收。您运行了大约 10 秒,它传输了 10 个数据包,并等待了 1 秒,即您提到的超时时间,然后才发送下一个数据包。

如果您想要可视化失败的传输,可以使用-f选项 并设置合适的 ping 间隔-i interval。 的值interval应大于 0.2 秒。您可以通过运行 来查看 ping 手册页的更多详细信息man ping

ping -f -i .5 -W 1 1.1.1.1

将产生这样的输出。

PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
.......^C
--- 1.1.1.1 ping statistics ---
7 packets transmitted, 0 received, 100% packet loss, time 3048ms

其中每个.代表一次没有任何回复的传输,如果有回复,则会打印一个退格键以删除.

我认为就是您正在寻找的解决方案。用于定期检查连通性的自动化脚本。

相关内容