控制字符、信号和终端的关系

Tim*_*Tim 5 terminal signals special-characters

控制字符和信号有什么关系?还是他们没有关系?

终端接收控制字符吗?

终端接收到控制字符后,终端向进程发送信号是否是终端对接收到的控制字符可能采取的动作之一?

例如,

在 Linux 中,在终端中,Ctrl+C 将终止正在运行的前台进程。在 ASCII 中,Ctrl+C 是一个控制字符,意思是“文本结束”

在 ASCII 中,Ctrl+D 是一个控制字符,表示传输结束。控制字符是否使终端向某个进程发送一些信号?

Tho*_*key 10

终端驱动程序(操作系统的一部分)建立的关系的特殊字符和信号。您的终端设置,例如 using stty,用于决定如何处理您输入的字符(如果有的话)。您可以根据需要重新分配这些特殊字符,但有一些注意事项:

  • 每个函数只有一个特殊字符
  • 仅使用单字节字符

controlC并且controlD常规的:虽然一些应用程序可能对这些值进行硬编码,但终端驱动程序不需要。

终端驱动程序是软件,而不是终端的一部分。对于某些键盘,您可能会发现特殊字符的不同分配比其他键盘更方便(对于不同的操作系统,特殊字符的默认值的一些选择可能会有所不同)。

进一步阅读: