実行したときに誤ってその端末ウィンドウに-をapt upgrade
送信しました。CtrlS
今、私はXOFF
、XON
- とテレタイプマシンの新しい事実を知りましたCtrl。Q
"pause" 端末に - を送信すると、Ctrl操作が続行されます。Qapt
それを読むと、受信したコマンドで何が起こるのか、それとも一般的に何が起こるのかはXOFF
明らかではありません。ディスプレイの更新が停止しました。良いことですが、まだ実行中ですか?apt
XOFF
htop
htop
まだapt
走っていますか?それとも実際にapt
停止したかhtop
凍結していますか?
明らかに、プロセスはまだ入力を受け取ることができるので、XOFF
まだ実行中です。
何が問題なの?例えば、プログラムカウンタは、単にプログラムカウンタの増加を停止し、プログラムを停止するだけではない。
XOFFを処理するようにコマンドがプログラムされた方法によって異なりますか?基本的なLinuxコマンドに対して期待できる一般的な動作はありますか?
ノートそれこれ同様の質問には、プログラム自体に何が起こるのか言及していないので、私の質問に対する答えは含まれていません。たとえば、apt
自動的に実行され続けるのか、停止/一時停止状態なのかはわかりません。
ベストアンサー1
基本的には + と + にバインドされていると は次のようになるXON
ことを既にご存じでしょう。XOFF
CtrlSCtrlQソフトウェアフロー制御人物と原理の遺物紙印刷テレックス端末の昔。受信装置(通常は紙プリンター)が、リモート送信者が送信した入力に追いつくことができないときに使用されます。
今日、紙テレタイプは使用されなくなりましたが、隠れたアイデアは「ターミナル」のソフトウェアフレームワークに残ります(例:ここそしてこれはTTYの歴史に関する非常に良い記事です。)はもともと紙端末で使用されていたいくつかの概念を継承し、まだ実装しています。その一つは、フロー制御文字を解釈する機能です。
通常、「コンソールで」(つまり、疑似端末に接続されている)実行されているプログラムは、文字を見ることはXON
できXOFF
ません。なぜなら、基本的には端末からキャプチャするからです。ここでの標準動作は、プログラムがXOFF
印刷出力を受信するのを停止することです。プログラム自体は影響を受けず、バックグラウンドで実行され続けます。ただ、出力が再度受信されるまでユーザーに「転送」されないことですXON
。
プログラムを作成してこれらの入力文字を明示的に受け取るには、tcsetattr()
プログラムでシステムコールを使用してフラグを介してソフトウェアフロー制御を無効にできますIXOFF
。たとえば、ここ)--nano
この方法、例えば。