tmux에서 매우 긴 출력을 중단합니다.

tmux에서 매우 긴 출력을 중단합니다.

(gnome) 터미널에서 cat파일이 너무 길어지면 언제든지 Ctrl- c를 눌러 중단할 수 있습니다.

그러나 동일한 일이 발생하면 tmux키 누르기에 의해 생성된 신호가 서버에 도달하는 데 오랜 시간이 걸리고 그때까지 서버는 이 출력으로 바빠서 홍수를 지켜보는 것 외에는 아무것도 할 수 없습니다(또는 다른 터미널을 사용합니다) ).Ctrlc

이는 설명된 문제와 다소 유사합니다.여기.

tmux터미널, 서버 또는 특정 창/창을 다시 시작하고 싶지는 않지만 less스마트하게 피하는 방법이 아니라 이미 발생한 문제를 해결하는 방법에 대해 묻고 있습니다. 행동하기 전에 생각하기…항상 놀라움이 있습니다!

그렇다면 단말의 Flooding을 멈추게 하거나 전송된 데이터를 폐기하게 하는 등의 방법은 없을까요? 나는 이런 짜증나는 일들로부터 벗어나기 위해 무엇이든 할 수 있다화면 속 캐릭터를 보시겠습니까?

답변1

두 가지 제안

  1. 이 상황에서 CTRL+가 +보다 더 효과적인 경우는 거의 없습니다 z . 응답 속도가 더 빠릅니다. 그런 다음 명령을 일시 중지하고 해당 명령이나 작업 번호를 사용하여 종료할 수 있습니다. 화면에서 무엇이든 읽을 수 있기를 바랍니다. 임의의 바이너리 텍스트가 많으면 문자 집합이 쉽게 복잡해질 수 있습니다.CTRLckill %1

  2. 다른 터미널에서 pgrep cat( cat명령이 호출되었는지) 물어보고 cat프로세스가 사용자를 사용하고 있는지 확인할 수 있습니다.CPU또는 다음을 통해 pstree:

    pgrep cat | awk '{print "pstree -sp "$1}' | sh | grep tmux


    대답은 init(1)---lightdm(1428)---lightdm(2518)---init(2534)---의 출력과 유사합니다.멀티플렉서(22425)---배시(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

관련 정보