5.8 伪终端

许多类UNIX系统,包括Linux,都有一个被称为伪终端的功能。这些终端的行为与我们在本章所用的终端非常相似,唯一区别是伪终端没有对应的硬件设备。它们可以用来为其他程序提供终端形式的接口。

例如,两个象棋程序可以通过伪终端进行对弈,尽管程序本身是为与人类棋手通过实际终端进行对弈而设计的。这需要有个应用程序作为中介,它将一个程序的棋子走法传递给另一个程序,反之亦然。中介程序通过伪终端来欺骗象棋程序,让它在没有实际终端的情况下正常运行。

过去,伪终端都是以系统特定的方式实现的,但现在它们已被合并到单一UNIX规范中,称为UNIX98伪终端或PTY。