可使用Ctrl+C、Ctrl+Z配合kill或Ctrl+\终止卡住的前台进程:Ctrl+C发送SIGINT终止多数交互命令;Ctrl+Z挂起后用kill%1结束顽固进程;Ctrl+\发送SIGQUIT强制终止但可能丢失数据。

当你在麒麟系统终端中运行某个命令后卡住、无法输入新指令,又不想关闭整个终端窗口时,需要立即中断当前正在执行的任务。
用 Ctrl+C 中断前台进程
在终端中,只要任务还在前台运行(即光标未返回命令行提示符,且你还能看到它在输出或卡在某处),直接按 Ctrl+C 即可发送 SIGINT 信号终止它。这一步操作起来很简单,绝大多数交互式命令(如 ping、tail -f、python 脚本等)都会响应并干净退出。
注意:如果程序捕获了 SIGINT 并做了自定义处理(比如只暂停不退出),Ctrl+C 可能无效——此时需换其他方法。
用 Ctrl+Z 挂起再 kill
当 Ctrl+C 不起作用,但你仍想保留终端会话不关闭时,可用 Ctrl+Z 将当前前台进程挂起(suspend),使其转入后台暂停状态。
挂起后,终端会返回命令行提示符,接着输入 kill %1(%1 表示最近挂起的作业编号)即可终止该任务。若不确定作业号,先运行 jobs 查看列表。
这招适合那些忽略 SIGINT、但未忽略挂起信号的顽固进程,比如某些 shell 内置循环或未设置信号处理器的 C 程序。
用 Ctrl+\ 强制终止(慎用)
按下 Ctrl+\ 会向当前前台进程发送 SIGQUIT 信号,它比 Ctrl+C 更强硬,通常不会被程序拦截,能直接触发核心转储(core dump)并退出。
【重要:仅在确认该进程无关键未保存数据时使用,因为 SIGQUIT 可能导致程序异常中止,部分应用来不及清理临时文件或释放锁】
大多数情况下,Ctrl+\ 能终结连 Ctrl+Z 都无法挂起的失控任务,例如陷入无限循环且屏蔽所有信号的调试中程序。

















