Interrompendo a saída muito longa no tmux

6

Em um terminal (gnome), se eu cat for um arquivo que demore muito tempo, sempre posso pressionar Ctrl - c para interromper.

No entanto, em tmux , quando o mesmo acontece, demora muito para que o sinal produzido pelo pressionamento da tecla Ctrl - c atinja o servidor, e até que acontece, o servidor está ocupado com esta saída, e eu não consigo fazer nada além de assistir a inundação (ou usando um terminal diferente).

Isso é um pouco semelhante ao problema descrito aqui .

Eu não desejo reiniciar o terminal, o servidor ou mesmo a janela / janela tmux específica; 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 livrar desses minutos irritantes de assistir personagens na minha tela?

    
por Bach 19.06.2014 / 07:01

2 respostas

4

Duas propostas

  1. Raramente, caso isso CTRL + z seja mais efetivo que CTRL + c : responde mais rápido. Depois disso, você suspende o comando para matá-lo com kill %1 ou qualquer que seja o número do trabalho. Na esperança de que você ainda seja capaz de ler qualquer coisa da tela (um texto binário aleatório inundado pode facilmente atrapalhar o conjunto de caracteres).

  2. Em outro terminal, você pode perguntar pgrep cat (se cat foi o comando invocado) e identificar o cat processo está usando sua cpu ou 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 )

    Nesse caso, depois de ter apenas kill , o cat PID :% kill 22532

Nota:

  • Se você pressionar CTRL + C ou CTRL + z e depois de minimizar a janela, provavelmente o O sistema será mais rápido do que você para ler a solicitaçã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 o tmux 1.8 e trabalhando
por 19.06.2014 / 11:28
2

Adicione as seguintes linhas ao seu arquivo tmux.conf (~ / .tmux.conf)

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

Mais informações podem ser encontradas em link

    
por 29.08.2015 / 16:54