Ctrl-C 在 MacOS/Zsh 上不起作用

Ctrl-C 在 MacOS/Zsh 上不起作用

我有类似的问题Ctrl-C 在 zsh 中不起作用

但这不是stty设置或按键绑定的问题。它确实在一个终端上发生,而在其他终端上却能正常工作。

我得到:来自 stty: eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;

将 intr 更改为其他键,会使 Ctrl-C 响铃,但其他键不执行任何操作。

Ctrl-Z 有效,但 Ctrl-C 无效。

我检查了 ZSH 设置/环境并与良好的终端进行了比较 - 但我没有看到任何可疑/明显的东西。

当我使用 ssh 连接到其他地方时,Ctrl-C 有效。

运行stty raw; xxd顺利,为 Ctrl-C 打印“03”。没有stay rawxxd 则根本没有“03”键。

重置和硬重置终端没有区别。

甚至发送kill -INT到坏终端中运行的任何进程也会被忽略。

就像信号掩码被禁用了一样。

有什么想法可以让 zsh 返回中断信号吗?(除了关闭窗口之外......)

答案1

似乎正在执行 trap "echo hello" INT 然后删除陷阱处理程序并使用trap INT将信号掩码放回到正确的形式。

Ctrl-C 现在又可以工作了....(很奇怪这是怎么发生的,我仍然想知道..)

相关内容