如何在不关闭命令终端窗口的情况下终止“Ping”?

Mat*_*hew 9 command-line networking ping

当我在终端窗口中使用“Ping”命令时,如何终止 ping?我已经 ping 我的路由器 (192.168.1.1) 并且结果显示在终端窗口中,但程序继续运行,没有任何关于如何终止的指示。

我可以通过关闭命令终端窗口来结束命令,但我宁愿让它保持打开状态,这样我就可以比较不同地址的 ping。

Ubuntu 14.04 LTS

Byt*_*der 12

共有三个选项:

  • ping使用Ctrl+手动中断命令C,如@steeldriver回答中所述

  • 如@ bodhi.zazen回答中所述,使用ping“计数”选项 ( -c COUNT) 精确发送 COUNT 个 ping 然后自动终止。

  • 使用ping'deadline' 选项 ( -w DEADLINE) 运行恰好 DEADLINE 秒,然后自动终止。


当然,您可以组合这三个选项。如果同时传递“计数”和“截止日期”选项,ping 将在第一个事件发生后立即终止。无论如何,Ctrl+C始终有效。

这是一个示例,最大 10 次 ping 的“计数”和 5 秒的“截止日期”,但在 3 次 ping ( )后使用Ctrl+手动终止:C^C

$ ping -c 10 -w 5 askubuntu.com
PING askubuntu.com (104.16.110.188) 56(84) bytes of data.
64 bytes from 104.16.110.188: icmp_seq=1 ttl=56 time=54.6 ms
64 bytes from 104.16.110.188: icmp_seq=2 ttl=56 time=52.5 ms
64 bytes from 104.16.110.188: icmp_seq=3 ttl=56 time=54.0 ms
^C
--- askubuntu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 52.582/53.733/54.611/0.850 ms
Run Code Online (Sandbox Code Playgroud)

  • 有时终端会吃掉 CTRL C 或 DNS 查询块,在这种情况下,您可以使用 `CTRL Z` 后跟 `kill %1` 来暂停进程,然后终止它。 (2认同)