【小总结分享】Linux 系统结束进程的 Ctrl + c 和 Ctrl + z 有什么区别?

【小总结分享】Linux 系统结束进程的 Ctrl + cCtrl + z 有什么区别?

在众多的快捷键组合中,Ctrl + cCtrl + z 是两个极为常用的组合,它们看似简单,却在管理进程方面扮演着至关重要的角色。然而,对于初学者来说,这两个组合的功能和使用场景往往容易混淆。本文旨在深入探讨 Ctrl + cCtrl + z 在 Linux 系统中的具体作用,以及它们之间的根本差异。

  1. Ctrl + c ——终止程序
    - 作用:发送 SIGINT 信号给当前前台进程,强制终止该进程。
    - 使用场景:当你希望立即停止一个正在运行的命令或进程。
    - 影响:进程被终止后,进程占用的资源会被释放,进程无法恢复。

    $ ping google.com
    # 按下Ctrl + c
    PING google.com (142.250.190.142): 56 data bytes
    64 bytes from 142.250.190.142: icmp_seq=0 ttl=116 time=11.4 ms
    ^C
    --- google.com ping statistics ---
    1 packets transmitted, 1 packets received, 0.0% packet     loss
    
  2. Ctrl + z ——暂停程序

    • 作用:发送 SIGTSTP 信号给当前前台进程,将进程挂起(暂停),而不是终止。
    • 使用场景:当你希望暂时停止一个进程,可以稍后再继续运行它。
    • 影响:进程被挂起后,会进入后台暂停状态,可以使用 fg 命令恢复到前台运行,或使用 bg 命令在后台继续运行。
    $ ping google.com
    # 按下Ctrl + z
    PING google.com (142.250.190.142): 56 data bytes
    64 bytes from 142.250.190.142: icmp_seq=0 ttl=116 time=11.4 ms
    ^Z
    [1]+  Stopped                 ping google.com
    
    $ fg
    ping google.com
    # 恢复到前台运行
    
  3. 总结如下:

    1. 信号类型

      • Ctrl + c 发送 SIGINT(interrupt 信号),通常用来终止程序。
      • Ctrl + z 发送 SIGTSTP(terminal stop 信号),用于暂停程序。
    2. 进程状态

      • Ctrl + c 终止进程,进程退出并释放资源。
      • Ctrl + z 暂停进程,进程进入后台等待状态,可以使用 fgbg 命令恢复。
    3. 命令恢复

      • 使用 Ctrl + c 无法恢复进程,因为进程已经终止。
      • 使用 Ctrl + z 可以恢复进程:
        • fg:将暂停的进程恢复到前台运行。
        • bg:将暂停的进程在后台继续运行。

猜你喜欢

转载自blog.csdn.net/qq_42417071/article/details/140591450