在(gnome)终端中,如果我的cat
文件太长,我可以随时按Ctrl-c来中断。
然而,在 中,当发生同样的情况时, -按键tmux
产生的信号需要很长时间才能到达服务器,并且在此之前,服务器正忙于此输出,而我除了观看洪水之外什么也做不了(或使用不同的终端)。Ctrlc
这与所描述的问题有些相似这里。
我不想重新启动终端、服务器,甚至特定的tmux
窗口/窗格;使用less
是一种聪明的习惯,但我在这里问的是如何解决已经发生的问题,而不是如何聪明地通过思考再行动来避免它们......总会有惊喜!
那么,有没有办法让终端停止泛洪、丢弃发送的数据等呢?我可以做任何事来让自己摆脱这些烦人的事情分钟观看屏幕上的角色?
答案1
两个提案
很少在这种情况下CTRL+比+z 更有效:它回答得更快。之后,您可以挂起该命令,您可以使用该命令或任何作业编号来终止它。希望您仍然能够从屏幕上读取任何内容(大量的随机二进制文本很容易弄乱您的字符集)。CTRLc
kill %1
在另一个终端中,您可以询问
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)在这种情况下,您只需
kill
:cat
PID
kill 22532
笔记:
- 如果您按CTRL+C或CTRL+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