pro*_*eek 91 terminal terminal.app
当我试图停止某些事情时,我^C
有时会^D
在终端中使用。
两者有什么区别?为什么有些程序不响应^C
,但是^D
. 为什么 Terminal.app 在我使用时就退出了^D
?
Gil*_*il' 82
Ctrl+ D( ^D
) 表示文件结束。它只在一行的开头起作用(我稍微简化了一点),如果程序没有从终端读取输入,则不起作用。在你的实验中,^D
告诉 shell 你不会再输入任何命令,所以它退出了;然后终端退出,因为它的子程序已经终止。
Ctrl+ C( ^C
) 表示“中断”,即停止正在执行的操作。从技术上讲,按下会^C
发送INT 信号,默认情况下会终止应用程序,但在许多程序中这意味着返回顶层(例如,在 shell 中,停止输入命令行并返回原始提示)。
如果程序没有响应^C
,您可以尝试Ctrl+ \( ^\
)。这会发送QUIT 信号,默认情况下会终止应用程序,并且不会有太多程序拦截。
另一个发送信号的键是Ctrl+ Z( ^Z
)。它发送TSTP 信号,暂停在前台运行的程序。(TSTP 是“终端停止”的缩写;它类似于STOP,但 TSTP 可以被忽略而 STOP 不能。)在 shell 中,您可以使用fg
命令(在前台恢复)或bg
命令(在前台恢复)来恢复该程序的执行背景)。
所有这些键都可以用stty
命令更改。某些程序,尤其是具有按键绑定的全屏程序,会禁用它们。
归档时间: |
|
查看次数: |
90668 次 |
最近记录: |