【问题标题】:C/Linux Programming: Pseudo-Terminals: how to redirect from current stdio to pty and redirect back after usageC/Linux 编程:伪终端:如何从当前 stdio 重定向到 pty 并在使用后重定向回来
【发布时间】:2010-10-23 03:07:40
【问题描述】:

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

使用控制台=串行端口启动系统 --> 客户端连接,将输入/输出重定向到套接字

我已经使用 Linux 的 pty 功能完成了对网络部分的重定向(通过阅读大量手册页。伙计,直到现在我才欣赏这些手册页!:D)。

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

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

o 硬编码打开串口文件

o 使用 login_tty() 中打开的串口文件

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

login_tty() 是否有某种“逆”函数?

【问题讨论】:

  • 查看一个名为 screen 的 GNU GPL 程序,它的功能与您想要的类似。由于您尚未收到答案,因此它可能会对您有所帮助。 gnu.org/software/screen

标签: c linux tty pty


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多