Unterbrechen sehr langer Ausgaben in tmux

Unterbrechen sehr langer Ausgaben in tmux

Wenn sich in einem (Gnome-)Terminal catherausstellt, dass eine Datei viel zu lang ist, kann ich immer zum Unterbrechen die Ctrl- Taste drücken c.

Wenn jedoch tmuxdasselbe passiert, dauert es lange, bis das durch Drücken der Ctrl- cTaste erzeugte Signal den Server erreicht, und bis dies geschieht, ist der Server mit dieser Ausgabe beschäftigt, und ich kann nichts anderes tun, als die Flut zu beobachten (oder ein anderes Terminal zu verwenden).

Dies ähnelt in gewisser Weise dem beschriebenen ProblemHier.

Ich möchte weder das Terminal noch den Server oder sogar das jeweilige tmuxFenster/den jeweiligen Bereich neu starten. Die Verwendung lessist eine gute Angewohnheit, aber ich frage hier, wie man bereits aufgetretene Probleme löst, und nicht, wie man klug vorgeht und sie vermeidet, indem man nachdenkt und dann handelt … es wird immer Überraschungen geben!

Gibt es also eine Möglichkeit, das Terminal die Fluten stoppen zu lassen, die gesendeten Daten zu verwerfen usw.? Kann ich irgendetwas tun, um mich von diesen lästigenProtokollCharaktere auf meinem Bildschirm zu beobachten?

Antwort1

Zwei Vorschläge

  1. In solchen Fällen ist CTRL+ selten z effektiver als CTRL+ c: es antwortet schneller. Danach pausiert man den Befehl und kann ihn mit kill %1oder der Auftragsnummer beenden. In der Hoffnung, dass man noch etwas vom Bildschirm lesen kann (eine Flut zufälliger Binärtexte kann den Zeichensatz leicht durcheinanderbringen).

  2. In einem anderen Terminal können Sie fragen pgrep cat(ob catder Befehl aufgerufen wurde) und identifizieren, welcher catProzess IhreCPUoder von pstree:

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

    antworte mit einer Ausgabe wie
    init(1)---lightdm(1428)---lightdm(2518)---init(2534)---tmux(22425)---bash(22426)---Katze(22532)

    killIn diesem Fall müssen Sie danach nur noch Folgendes tun cat PID:
    kill 22532

Notiz:

  • Wenn Sie CTRL+ Coder CTRL+ drücken zund das Fenster anschließend minimieren, ist das System wahrscheinlich schneller als Sie beim Lesen derUnterbrechungsanforderung. Also anhalten/unterbrechen, minimieren, ein wenig warten, wieder maximieren kann auch eine Lösung sein.
  • Wie gesagt, lesses ist sicherer.
  • Nochmals mit tmux 1.8 getestet und funktioniert

Antwort2

Fügen Sie die folgenden Zeilen zu Ihrer tmux.conf hinzu (~/.tmux.conf)

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

Weitere Informationen finden Sie unterhttp://blog.fraggod.net/2014/09/23/tmux-rate-limiting-magic-against-terminal-spamflood-lock-ups.html

verwandte Informationen