菜鸟科技网

如何正确停止Linux下的ping命令?

下面我将详细解释,并提供一些其他有用的方法和技巧。

如何正确停止Linux下的ping命令?-图1
(图片来源网络,侵删)

使用 Ctrl + C (最常用、最直接)

这是最标准、最快捷的停止方法。

  1. 启动 ping 命令: 你需要在一个终端窗口中运行 ping 命令。ping 百度:

    ping www.baidu.com

    你会看到类似下面的输出,表示 ping 正在持续运行:

    PING www.a.shifen.com (182.61.200.7) 56(84) bytes of data.
    64 bytes from 182.61.200.7: icmp_seq=1 ttl=118 time=25.3 ms
    64 bytes from 182.61.200.7: icmp_seq=2 ttl=118 time=24.8 ms
    64 bytes from 182.61.200.7: icmp_seq=3 ttl=118 time=25.1 ms
    ... (会一直持续下去)
  2. 停止 ping 命令: 在你的键盘上,同时按下 CtrlC

    如何正确停止Linux下的ping命令?-图2
    (图片来源网络,侵删)
    # 在终端中按下 Ctrl+C
    ^C

    你会看到 ping 命令的输出被中断,并显示一个统计摘要,然后终端会返回到命令提示符状态,等待你输入下一个命令。

    --- www.a.shifen.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2004ms
    rtt min/avg/max/mdev = 24.813/25.077/25.311/0.224 ms
    [root@localhost ~]$

    这个摘要非常有用,它告诉你发送了多少个包、收到了多少、丢包率以及往返时间的平均值。


使用 Ctrl + Z (挂起,非停止)

这个方法不会停止 ping 命令,而是将它挂起到后台

  1. 启动 ping 命令

    如何正确停止Linux下的ping命令?-图3
    (图片来源网络,侵删)
    ping 8.8.8.8
  2. 挂起 ping 命令: 按下 Ctrl + Z。 你会看到类似以下的输出:

    ^Z
    [1]+  Stopped                 ping 8.8.8.8

    这表示 ping 进程已经停止(挂起)了,但它并没有被终止,它现在在后台处于“睡眠”状态。

  3. 如何处理挂起的进程

    • 查看后台任务:输入 jobs 命令
      jobs

      输出:[1]+ Stopped ping 8.8.8.8

    • 让进程在后台继续运行:输入 bg (background)
      bg %1  # %1 是任务编号

      ping 会继续在后台运行,你可以在前台继续操作其他命令。

    • 将进程调回前台并停止它:输入 fg (foreground) Ctrl + C
      fg %1

      ping 会重新回到前台,此时你再按下 Ctrl + C 就可以正常停止它了。

    • 彻底终止进程:使用 kill 命令
      kill %1  # 终止任务号为 1 的进程

      或者用 kill -9 %1 强制杀死。

Ctrl + Z 是“暂停”,Ctrl + C 是“终止”,对于 ping 这种你只想让它停止的命令,请直接使用 Ctrl + C


在后台运行并手动终止 (高级用法)

如果你想让 ping 在后台运行,然后手动去终止它,可以这样做:

  1. ping 在后台运行: 在命令末尾加上 & 符号。

    ping google.com &

    系统会返回一个进程ID (PID)

    [1] 12345

    这个 12345 ping 进程的ID。

  2. 停止该后台进程: 使用 kill 命令加上进程ID来终止它。

    kill 12345

    如果进程非常顽固,无法正常终止,可以使用强制终止命令:

    kill -9 12345

    -9 信号是 SIGKILL,它会强制操作系统立即终止该进程,不给进程任何清理的机会。


如何防止 ping 命令无限运行?

有时候你可能想只 ping 一定次数就自动停止,而不是手动去按 Ctrl + C,这时可以使用 -c (count) 参数。

  • ping 4次后自动停止

    ping -c 4 www.baidu.com

    ping 完成第4次后,它会自动显示统计摘要并退出。

  • ping 持续运行一段时间后停止: 使用 -w (timeout) 参数,单位是秒。

    ping -w 10 www.baidu.com

    这个命令会持续 ping 10秒钟,然后自动停止,无论期间发了多少个包。

总结表格

方法 操作 效果 适用场景
Ctrl + C 在终端中按下 立即终止 ping 进程,并显示统计信息。 最常用,当你想手动停止 ping 时。
Ctrl + Z 在终端中按下 挂起 ping 进程到后台,进程处于“Stopped”状态。 暂时中断 ping,希望稍后继续或查看其他任务。
kill <PID> 先找到PID,再执行 终止指定的 ping 进程。 在后台运行 ping,或者需要远程终止进程时。
ping -c <N> 在命令中加入参数 ping N次后自动停止 需要测试网络连通性,但不需要持续监控时。
ping -w <S> 在命令中加入参数 ping 持续S秒后自动停止 需要在指定时间内测试网络延迟或丢包率时。

对于绝大多数情况,你只需要记住 Ctrl + C 就足够了。

分享:
扫描分享到社交APP
上一篇
下一篇