C / Linux编程:伪终端:如何从当前stdio重定向到pty并在使用后重定向

时间:2010-10-23 03:07:40

标签: c linux tty pty

我正在尝试创建一个简单的远程管理程序,用户可以连接到我的小设备并“接管”系统的当前stdio。例如:

使用console = serial port引导系统 - >客户端连接,将输入/输出重定向到套接字

我已经完成了对网络部分的重定向(通过阅读很多手册页。男,我从来没有理解过这些手册页!:D)使用Linux的pty功能。

openpty() - > grantpt() - > unlockpt() - >客户端连接,执行login_tty()

我的程序然后处理主FD和套接字的监视。但是,我有一个大问题:我不知道如何重新定向输出。我尝试了以下方法:

o打开串口文件的硬编码

使用login_tty()

中打开的串口文件

但它似乎不起作用(关于进程组并在执行第一次login_tty()之后成为进程组的领导者)。有什么建议或想法吗?

login_tty()是否具有某种“反向”功能?

1 个答案:

答案 0 :(得分:1)

这听起来非常像“屏幕”。你可以研究代码并从那里模仿它: http://www.gnu.org/software/screen/