iterm2:Ctrl-C 有时不起作用

lan*_*ng2 17 iterm2 macos

我在 Mac OSX (10.10.5) 上使用 iTerm2。

最近遇到一个很奇怪的事情:使用iTerm2一段时间后,Ctrl-C会停止工作。最初还好。只有在使用一段时间后。终端会打印出来^C,就好像它是一个普通的按键一样。

我不知道如何复制。

Mar*_*rco 8

造成这种情况的可能原因之一是您曾经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至少,那个/这个对我有用!


lan*_*ng2 7

我在这里发布一项工作,因为它可能会使某些人受益。但我自己不会接受。

发生这种情况时,kill当前选项卡中正在运行的进程可能来自不同的选项卡/shell。然后在原来的选项卡中执行,reset事情就会恢复正常。

还是不知道为什么。

  • “重置”对我有用,谢谢! (3认同)