【问题标题】:what is "tty" on FreeBSD?FreeBSD 上的“tty”是什么?
【发布时间】:2011-05-30 18:21:54
【问题描述】:

"uprintf()函数输出到当前进程的控制tty"

这是来自 Freebsd MAN 的 uprintf() 的描述。 我不明白什么是tty? 谢谢。愉快的假期!

【问题讨论】:

标签: unix freebsd


【解决方案1】:

tty 是字符 I/O 设备的抽象模型。它是最直接的系统接口,带有相应的应用程序接口。

曾几何时,有一家名为Teletype的公司。他们制造了硬拷贝自动打字机设备,几十年来一直用作通信终端,然后重新用作硬拷贝计算机终端。为了避免使用品牌名称,电传打字机被推广到电传打字机或电传打印机。

最初它们是实用的,但相当丑陋......

但后来的型号(这款 43 型号是 1970 年代后期的)非常漂亮......

微处理器使视频显示终端变得实用,以前,硬拷贝终端相当便宜,而且更受欢迎。碰巧的是,Unix tty 抽象也适用于视频终端。

而且,它适用于 xterm 窗口和 xterm 的子窗口(通常称为 Terminal),这些窗口将在 Linux、Mac 和 Unix 的其他后代上找到。 ..

【讨论】:

    【解决方案2】:

    “控制 tty”的概念具有现代意义,但“tty”这个词是一个非常古老的概念。 tty = 电传打字机,这是人们过去与计算机交流的方式。 FreeBSD 手册页中的“tty”概念是指接受用户输入程序的设备。

    现在,windows 等也接受用户输入。但这并不是“tty”的确切含义。只有某些窗口有与之关联的 tty。通常,例如,大多数 shell 窗口。在这种情况下,tty 称为伪终端,也称为“pty”。这是一个“伪”终端,因为它不与特定设备关联。事实上,它是由一个伪装成终端的程序控制的。在窗口的情况下,显示窗口的程序。

    在 Unices 中,tty 在程序中具有特殊的作用。大多数进程都有一个“控制 tty”或“控制终端”。这个 tty 被允许向他们发送某些类型的信号,不管进程有什么特权。例如,SIGTSTP。

    【讨论】:

      【解决方案3】:

      根据维基百科,该名称来自电传打字机,缩写为“TTY”。直接打印到 tty 意味着它直接将消息打印到控制台,即使 STDOUT 已被重定向到文件或其他进程。

      【讨论】:

        【解决方案4】:

        实际上是您系统中当前输入设备的名称...在大多数情况下是您的键盘。

        mac-user:~$ tty
            /dev/ttys001
        

        这意味着您的键盘是设备 ttys001

        【讨论】:

          猜你喜欢
          • 2011-05-04
          • 1970-01-01
          • 2011-05-24
          • 1970-01-01
          • 2013-01-15
          • 1970-01-01
          • 2013-07-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多