中断 tmux 中很长的输出

中断 tmux 中很长的输出

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

然而,在 中,当发生同样的情况时, -按键tmux产生的信号需要很长时间才能到达服务器,并且在此之前,服务器正忙于此输出,而我除了观看洪水之外什么也做不了(或使用不同的终端)。Ctrlc

这与所描述的问题有些相似这里

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

那么,有没有办法让终端停止泛洪、丢弃发送的数据等呢?我可以做任何事来让自己摆脱这些烦人的事情分钟观看屏幕上的角色?

答案1

两个提案

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

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

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


    回答类似init(1)---lightdm(1428)---lightdm(2518)---init(2534)---的输出多路复用器(22425)---bash(22426)---猫(22532

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

笔记:

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

答案2

将以下行添加到 tmux.conf (~/.tmux.conf)

set -g c0-change-trigger 150 set -g c0-change-interval 100

更多信息可以在以下位置找到:http://blog.fraggod.net/2014/09/23/tmux-rate-limiting-magic-against-terminal-spamflood-lock-ups.html

相关内容