Em um terminal (gnome), se eu cat
tiver um arquivo muito longo, posso sempre pressionar Ctrl- cpara interromper.
Porém, em tmux
, quando o mesmo acontece, demora muito para que o sinal produzido pelo pressionamento da tecla Ctrl- cchegue ao servidor, e até que isso aconteça, o servidor fica ocupado com esta saída, e não consigo fazer nada além de observar a inundação (ou usando um terminal diferente).
Isso é um pouco semelhante ao problema descritoaqui.
Não desejo reiniciar o terminal, o servidor ou mesmo a tmux
janela/painel específico; usar less
é um hábito inteligente, mas estou perguntando aqui como resolver problemas que já ocorreram, não como ser inteligente e evitá-los pensando antes de agir... sempre haverá surpresas!
Então, existe uma maneira de deixar o terminal parar as inundações, descartar os dados enviados, etc.? Qualquer coisa que eu possa fazer para me libertar desses problemas irritantesminutosde assistir personagens na minha tela?
Responder1
Duas propostas
Raramente neste caso CTRL+ z é mais eficaz que CTRL+ c: responde mais rápido. Depois disso, você suspende o comando com o qual pode matá-lo
kill %1
ou qualquer que seja o número do trabalho. Na esperança de que você ainda consiga ler qualquer coisa na tela (uma inundação de texto binário aleatório pode facilmente bagunçar seu conjunto de caracteres).Em outro terminal você pode perguntar
pgrep cat
(secat
o comando foi invocado) e identificar ocat
processo que está usando seuCPUou pelapstree
:pgrep cat | awk '{print "pstree -sp "$1}' | sh | grep tmux
responda com uma saída como
init(1)---lightdm(1428)---lightdm(2518)---init(2534)---tmux(22425)---bash(22426)---gato(22532)Neste caso, depois de você ter
kill
apenascat
PID
:
kill 22532
Observação:
- Se você pressionar CTRL+ Cou CTRL+ ze depois minimizar a janela, provavelmente o sistema será mais rápido que você para ler osolicitação de interrupção. Então suspender/quebrar, minimizar, esperar um pouco, maximizar novamente, pode ser uma solução também.
- Como você disse
less
é mais seguro. - Testado novamente com tmux 1.8 e funcionando
Responder2
Adicione as seguintes linhas ao seu tmux.conf (~/.tmux.conf)
set -g c0-change-trigger 150 set -g c0-change-interval 100
Mais informações podem ser encontradas emhttp://blog.fraggod.net/2014/09/23/tmux-rate-limiting-magic-against-terminal-spamflood-lock-ups.html