問題
SSHを介して大量の情報を出力するコマンドを実行します。たとえば、100万回実行されるループ内にデバッグ情報を愚かに追加するか、単にcat /dev/urandom
キックのために実行します。
端末には情報が殺到しています。
コマンドをできるだけ早く終了し、プログラムを修正したい。何が印刷されるかは気にしません。さて、問題はCtrl+ CASAP を押すことです(上記の例ではコマンドを実行した直後にそれを押しました)が、不要な情報もすべて印刷するには時間がかかります。
私が試したこと
Ctrl+ Cを強く押して、ターミナルがついに追いついたときに面白い結果が得られました。
OUTPUT HERE^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
^C^C
^C^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C
^C^C^C^C^C^C^C^C^C^C^C^C^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
rr-@burza:~/xor$ ^C
私も読んCtrl+ Sどうやら、端末伝えるために使用される「停止出力を、私は追いつくために必要がある」どうやら、それは何もしません。
その他の詳細
実行しているプログラムがそのようになる可能性があることを覚えていなくても、実行するコマンドを変更したくないので、どんな状況でも自分を救うことができます。
SSHクライアントはCYGWIN_NT-6.1-WOW64 luna 1.7.30(0.272/5/3) 2014-05-23 10:36 i686 Cygwin
、ターミナルタイプがに設定されたMinTTYのCygwin()で実行されますxterm-256color
。
SSHサーバーはDebian(Linux burza 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 i686 i686 GNU/Linux
)で実行されます。
-j
ジャンプスクロールを有効にするために、オプションでxtermを起動してみてください。基本的な問題は、ターミナルウィンドウが表示できるよりも速くリモートがデータを送信できることです。デフォルトでは、新しい行が印刷されるたびにウィンドウの内容をbitbltする必要があります。Ctrl-Cがリモートシステムに受信されるまでに、大量のデータがバッファリングされ、端末プログラムはすべてを表示しようとします。
.bashrc
ですか?
Ctrl-O
必要があります。これは、「この端末に書き込まれた出力を破棄する」ことを意味します。