我在 Mac OSX (10.10.5) 上使用 iTerm2。
最近遇到一个很奇怪的事情:使用iTerm2一段时间后,Ctrl-C会停止工作。最初还好。只有在使用一段时间后。终端会打印出来^C,就好像它是一个普通的按键一样。
我不知道如何复制。
造成这种情况的可能原因之一是您曾经trap将 INT 信号设置为其他信号。
如果将 INT 上的 trap(ed 函数) 重置为默认值,这个问题应该会消失1。您可以通过执行以下操作来做到这一点:
trap - INT
trap
Run Code Online (Sandbox Code Playgroud)
解决此问题的另一种方法虽然“hacky”,但是将类似以下内容添加到您的.zshrcor .bashrc:
function reset_trap {
# Hacky hack because of <function/script-that-sets-trap-INT>
trap - INT
}
autoload -Uz add-zsh-hook
add-zsh-hook preexec reset_trap
Run Code Online (Sandbox Code Playgroud)
1至少,那个/这个对我有用!
我在这里发布一项工作,因为它可能会使某些人受益。但我自己不会接受。
发生这种情况时,kill当前选项卡中正在运行的进程可能来自不同的选项卡/shell。然后在原来的选项卡中执行,reset事情就会恢复正常。
还是不知道为什么。
| 归档时间: |
|
| 查看次数: |
7961 次 |
| 最近记录: |