GNU/Linux >> Linux の 問題 >  >> Linux

制御文字、信号、端末の関係は?

制御文字と信号の関係は何ですか?それとも無関係ですか?

制御文字は端末で受信されますか?

端末が制御文字を受信した後、端末はプロセスに信号を送信しますか?受信した制御文字に対する端末の可能なアクションの1つですか?

たとえば、

Linuxでは、ターミナルでCtrl+Cを実行すると実行中のフォアグラウンドプロセスが終了します。 ASCIIでは、Ctrl+Cは「テキストの終わり」を意味する制御文字です。

ASCIIでは、Ctrl+Dは送信の終了を意味する制御文字です。制御文字は、端末に何らかの信号をプロセスに送信させますか?

承認された回答:

ターミナルドライバー (オペレーティングシステムの一部)特殊文字と信号の間の関係を確立します。 端末設定 、たとえば、sttyを使用する 、は、入力した文字を(もしあれば)どうするかを決定するために使用するものです。いくつかの注意点がありますが、必要に応じてこれらの特殊文字を再割り当てできます。

  • 関数ごとに1つの特殊文字のみ
  • 1バイト文字のみが使用されます

コントロール C およびコントロール D 従来型 :いくつかのアプリケーションはこれらの値をハードコーディングする場合がありますが、ターミナルドライバはそれを必要としません。

ターミナルドライバはソフトウェアであり、ターミナルの一部ではありません。 。一部のキーボードでは、特殊文字のさまざまな割り当てが他のキーボードよりも便利な場合があります(また、オペレーティングシステムが異なれば、特殊文字のデフォルト値のいくつかの選択肢が異なる場合があります)。

さらに読む:

  • 11.1.9特殊文字(POSIX *一般的な端末インターフェース)
  • 11。一般的な端末インターフェース
  • stty –端末のオプションを設定します

Linux
  1. SystemdとTerminalの起動プログラムの違いは?

  2. EotとEofの違いは?

  3. [0-9]、[[:digit:]]とDの違いは?

  1. 「ターミナル」、「シェル」、「tty」、「コンソール」の正確な違いは?

  2. 現在の制御端末と`/dev / tty`の間にはどのような関係がありますか?

  3. SnatとMasqueradeの違いは?

  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. アスキーエスケープシーケンスと制御文字のペアリングは標準の一部ですか?

  3. Linux – PtsとTtyの違いは?