在 tmux 中中断很长的输出

Bac*_*ach 8 kill terminal tmux

在(gnome)终端中,如果我cat的文件太长,我总是可以按Ctrl-c中断。

然而,在 中tmux,当同样的事情发生时,Ctrl-c按键产生的信号需要很长时间才能到达服务器,直到发生这种情况,服务器正忙于这个输出,我只能看着洪水(或使用不同的终端)。

这有点类似于这里描述的问题。

我不想重启终端、服务器,甚至特定的tmux窗口/窗格;使用less是一个聪明的习惯,但我在这里问的是如何解决已经发生的问题,而不是如何聪明地在行动前思考避免它们......总会有惊喜!

那么,有没有办法让终端停止泛洪,丢弃发送的数据等?我能做些什么来摆脱在屏幕上观看角色的这些烦人的几分钟

Has*_*tur 5

两个提案

  1. 很少在这种情况下CTRL+比+z 更有效:它回答得更快。之后,您可以挂起该命令,您可以使用该命令或任何作业编号来终止它。希望您仍然能够从屏幕上读取任何内容(大量的随机二进制文本很容易弄乱您的字符集)。CTRLckill %1

  2. 在另一个终端中,您可以询问pgrep cat(是否cat调用了命令)并确定cat进程正在使用您的cpu或通过以下方式pstree

    pgrep cat | awk '{print "pstree -sp "$1}' | sh | grep tmux

    回答类似
    init(1)---lightdm(1428)---lightdm(2518)---init(2534)--- tmux (22425)---bash(22426)---cat( 22532

    kill在这种情况下,您只需cat PID
    kill 22532

笔记:

  • 如果您在最小化窗口后按CTRL+CCTRL+ ,系统可能会比您更快地读取中断请求。因此,暂停/中断、最小化、稍等一下、再次最大化,也可以是一个解决方案。z
  • 正如你所说,less比较安全。
  • 使用 tmux 1.8 再次测试并工作