Process 为什么我在终端上看到转义字符?
通常Process 为什么我在终端上看到转义字符?,process,terminal,emulation,kill,ctrl,Process,Terminal,Emulation,Kill,Ctrl,通常CTRL-C或CTRL-D退出程序。但是,偶尔按下CTRL-C键而不是退出程序,只会转义字符并将其输出到终端屏幕。我以前在不同的程序中见过多次这种情况:Django、ssh等。我注意到这种情况是在我离开终端很长一段时间后发生的 有没有办法将CTRL-C行为恢复到我预期的状态 那么,这些转义字符背后的原因是什么 下面是我所说的转义CTRL-C和其他字符的输出示例: ^^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
CTRL-C
或CTRL-D
退出程序。但是,偶尔按下CTRL-C
键而不是退出程序,只会转义字符并将其输出到终端屏幕。我以前在不同的程序中见过多次这种情况:Django、ssh等。我注意到这种情况是在我离开终端很长一段时间后发生的
- 有没有办法将
行为恢复到我预期的状态李>CTRL-C
- 那么,这些转义字符背后的原因是什么
CTRL-C
和其他字符的输出示例:
^^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^Z^D^D^D^D^D^D^D^D^D^D^D^D^D^D^D^D^D^D^D^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^D^D^D^D^D^D^D^D^D^D^D^D^[^[^D^D^D^D^Z^Z^Z^Z^Z^Z这是因为与服务器的连接可能已断开,因此您的终端只是回显您所做的操作,而无法向您显示命令或服务器的响应。在这种情况下,退出ssh的方法是使用终止序列
~+.+Enter
。Enter可能并不总是必需的
下面是SSH转义序列的列表
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
PS:摘自这是因为与服务器的连接可能已断开,因此您的终端只是回显您所做的操作,而无法向您显示命令或服务器的响应。在这种情况下,退出ssh的方法是使用终止序列
~+.+Enter
。可能并不总是需要Enter-啊,很有趣。如果你把它作为一个答案写下来,我会接受的(如果你能解释一下~+.+的意思,我将不胜感激)。