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

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

(gnome) 터미널에서 cat파일이 너무 긴 것으로 판명되면 언제든지 Ctrl-를 눌러 c중단할 수 있습니다.

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

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

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

그렇다면 단말이 플러드를 멈추게 하거나 전송된 데이터를 폐기하게 하는 등의 방법이 있을까요? 이 짜증나는 일에서 벗어나기 위해 내가 할 수 있는 모든 일내 화면에서 캐릭터를 보는 것?

답변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

관련 정보