tmux で非常に長い出力を中断する

tmux で非常に長い出力を中断する

(gnome) ターミナルでは、catファイルが長すぎることが判明した場合は、いつでもCtrl-cを押して中断できます。

しかし、 では、同じことが起こると、 -キーの押下tmuxによって生成された信号がサーバーに到達するまでに長い時間がかかり、それが起こるまでサーバーはこの出力でビジー状態になり、フラッドを監視すること(または別の端末を使用すること)以外は何もできません。Ctrlc

これは、説明した問題と多少似ていますここ

tmuxターミナル、サーバー、または特定のウィンドウ/ペインを再起動したくはありません。使用するのlessは賢い習慣ですが、ここで私が尋ねているのは、すでに発生した問題を解決する方法であって、行動する前に考えることで賢く問題を回避する方法ではありません... 常に驚きがあるのです!

では、端末にフラッドを止めさせたり、送信したデータを破棄させたりする方法はあるのでしょうか?これらの迷惑な状況から解放されるためにできることは何かありますか?画面上の文字を見るのは好きですか?

答え1

2つの提案

  1. このような場合、まれにCTRL+の方が+z よりも効果的です。応答が速くなります。その後、コマンドを一時停止し、またはジョブ番号でそれを強制終了できます。画面から何かを読み取ることができることを期待します (ランダムなバイナリ テキストが大量に発生すると、文字セットが簡単に混乱する可能性があります)。CTRLckill %1

  2. 別の端末でpgrep catcatコマンドが呼び出されたかどうか)を尋ね、catプロセスが使用しているかどうかを確認できます。CPUまたはpstree

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


    init(1)---lightdm(1428)---lightdm(2518)---init(2534)---のような出力で応答します。tmux(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

関連情報