使用终端时,有时你需要中断程序。有时你按Ctrl-c有时Ctrl-x有时Ctrl-z
在某些情况下,它可能只是关闭一个引号或者按几次回车键,甚至有时Ctrl-d也会起作用。
因此,当我像个傻瓜一样陷入困境时,我就开始像个傻瓜一样猛敲那些键,希望进程能够退出。在 95% 的情况下,它都能正常工作,当我绝望时,我只需关闭终端,它 100% 都能正常工作。我确信由于程序处于特定状态,各种状态都有合理的原因,但我只想中断应用程序并返回到 bash 提示符。
是否存在一个超级键可以中断该进程,而无需按下这 4 个神奇的键以期应用程序终止?
答案1
超级键是关闭终端。:-) 那,或者是你的计算机上的电源按钮。
每个组合键Ctrl+ c、Ctrl+ x、Ctrl+z和Ctrl+d都有不同的功能。
Ctrl+ c:产生中断信号(SIGINT)。
Ctrl+ x:我不确定这有什么用。
Ctrl+ z:暂停该过程,允许其稍后恢复(SIGSTOP)。
Ctrl+ d:发送文件结束(EOF)字符。
每个过程都可以按照自己的意愿自由解释这些信号。因此,响应存在一定的异质性。
终止进程的更通用方法是使用 SIGKILL 信号将其终止,这是最激进的方法,它(我认为)与关闭终端窗口相同。不过,最好先尝试Ctrl+d和Ctrl+ c,因为这些是进程可以预测的信号,允许它以可预测且更安全的方式结束。
使用 检查手册页man 7 signal
。