Interrompendo saída muito longa no tmux

Interrompendo saída muito longa no tmux

Em um terminal (gnome), se eu cattiver 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 tmuxjanela/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

  1. 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 %1ou 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).

  2. Em outro terminal você pode perguntar pgrep cat(se cato comando foi invocado) e identificar o catprocesso que está usando seuCPUou pela pstree:

    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 killapenas cat 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

informação relacionada