我试图弄清楚如何在Linux中使用伪终端,实际上我想创建一个telnetd克隆,这是我在前面的问题中提到的。
我了解主终端和从终端的概念,并且对如何在C中使用syscall有基本的了解。
我的问题与打开从属/主文件描述符后的下一步有关。如何在奴隶中发射盖蒂?网上是否有 足够的 资源来使用forkpty(),openpty()或其他API?
C语言中的一些示例会有所帮助。这是一个非常相似的问题,但是没有人提供任何示例。
Unix环境中的高级编程,第2版在Linux中可用的伪终端层上有出色的一章。最好的部分是包含驱动程序的源代码,pty并且非常清楚地演示了如何使用pty接口。(pty如果您想以编程方式驱动仅终端程序,但又不想使用,则它所构建的程序本身就很有用expect(1)。)
pty
expect(1)