在(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