bash 有“超级”中断键吗?

bash 有“超级”中断键吗?

使用终端时,有时你需要中断程序。有时你按Ctrl-c有时Ctrl-x有时Ctrl-z

在某些情况下,它可能只是关闭一个引号或者按几次回车键,甚至有时Ctrl-d也会起作用。

因此,当我像个傻瓜一样陷入困境时,我就开始像个傻瓜一样猛敲那些键,希望进程能够退出。在 95% 的情况下,它都能正常工作,当我绝望时,我只需关闭终端,它 100% 都能正常工作。我确信由于程序处于特定状态,各种状态都有合理的原因,但我只想中断应用程序并返回到 bash 提示符。

是否存在一个超级键可以中断该进程,而无需按下这 4 个神奇的键以期应用程序终止?

答案1

超级键关闭终端。:-) 那,或者是你的计算机上的电源按钮。

每个组合键Ctrl+ cCtrl+ xCtrl+zCtrl+d都有不同的功能。

  • Ctrl+ c:产生中断信号(SIGINT)。

  • Ctrl+ x:我不确定这有什么用。

  • Ctrl+ z:暂停该过程,允许其稍后恢复(SIGSTOP)。

  • Ctrl+ d:发送文件结束(EOF)字符。

每个过程都可以按照自己的意愿自由解释这些信号。因此,响应存在一定的异质性。

终止进程的更通用方法是使用 SIGKILL 信号将其终止,这是最激进的方法,它(我认为)与关闭终端窗口相同。不过,最好先尝试Ctrl+dCtrl+ c,因为这些是进程可以预测的信号,允许它以可预测且更安全的方式结束。

使用 检查手册页man 7 signal

相关内容