【Ctrl+Z和Ctrl+C的区别】

在Unix和类Unix系统(如Linux和macOS)的终端中,Ctrl+ZCtrl+C是两个用于处理正在运行的进程的快捷键,它们的作用和用途有所不同:

Ctrl+C

  • 作用 :发送SIGINT(中断信号)到当前前台进程组。SIGINT信号通常会终止进程的执行。
  • 用途 :当你需要中断一个正在运行的命令或程序时使用。例如,如果你运行了一个需要很长时间完成的命令,或者执行了一个无限循环的脚本,可以使用Ctrl+C来立即停止它。

Ctrl+Z

  • 作用 :发送SIGTSTP(暂停信号)到当前前台进程组,这会将进程挂起(暂停执行),并将控制返回给终端。SIGTSTP是可以被处理(忽略或捕获)的信号。
  • 用途 :当你需要暂停一个正在运行的命令或程序,以便稍后继续执行时使用。使用Ctrl+Z挂起进程后,可以通过bg命令将其放入后台继续运行(但不再接收输入),或者使用fg命令将其恢复到前台继续交互。

实际应用示例

假设你在终端运行了一个长时间运行的脚本或命令,然后意识到你需要立刻停止它,此时你会按Ctrl+C来终止进程。

另一方面,如果你运行了一个进程,但突然需要执行另一个任务,你可以使用Ctrl+Z将当前进程挂起,然后利用bg让它在后台运行 ,或者用**fg在需要时恢复到前台**。

总的来说,Ctrl+C用于终止进程,而Ctrl+Z用于暂停进程,这两个快捷键在日常的终端操作中非常有用。

个人经历:有时候使用Ctrl+C无法杀死进程,我就会使用Ctrl+Z挂起,但是实际上进程并未终止,那么我想要终止该进程的话,还得进行如下操作:

(1)查找进程ID:替换'process_name'为进程名。将列出所有匹配的进程,从输出中找到进程ID

复制代码
ps aux | grep 'process_name'

(2)使用kill命令终止进程

复制代码
kill -9 pid
相关推荐
烦躁的大鼻嘎1 天前
【Linux】深入Linux多线程架构与高性能编程
linux·运维·服务器·开发语言·c++·ubuntu
羚羊角uou1 天前
【Linux】system V共享内存
linux·运维·服务器
林克爱塞尔达1 天前
Linux入门(二)
linux·运维·chrome
破烂儿1 天前
Ubuntu Server 安装图形界面和通过Window远程桌面连接服务器(Xrdp)
linux·服务器·ubuntu
存储服务专家StorageExpert1 天前
手搓一个 DELL EMC Unity存储系统健康检查清单
linux·运维·服务器·存储维护·emc存储
笑口常开xpr1 天前
Linux 库开发入门:静态库与动态库的 2 种构建方式 + 5 个编译差异 + 3 个加载技巧,新手速看
linux·c语言·动态库·静态库
SonOfWind03111 天前
CentOS搭建本地源
linux·运维·centos
IT成长日记1 天前
【Nginx开荒攻略】Nginx主配置文件结构与核心模块详解:从0到1掌握nginx.conf:
linux·运维·nginx·配置文件
Nimsolax1 天前
Linux线程控制
linux
Light601 天前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度(一气呵成)
linux·spring boot·pdf·gpcl6/ghostpcl·s3/oss·权限与审计·异步与进度