我正在尝试创建一个简单的远程管理程序,用户可以在其中连接到我的小设备并“接管”系统的当前 stdio。例如:
系统启动时使用控制台=串行端口 --> 客户端连接,将输入/输出重定向到套接字
我已经使用 Linux 的 pty 功能完成了对网络部分的重定向(通过阅读大量手册页。伙计,直到现在我才欣赏这些手册页!:D)。
openpty() -> grantpt() -> unlockpt() --> 客户端连接,执行 login_tty()
然后我的程序处理主 FD 和套接字的监视。但是,我有一个大问题:我不知道如何将输出重定向回来。我尝试了以下方法:
o 硬编码打开串口文件
o 在 login_tty() 中使用打开的串口文件
但它似乎不起作用(关于进程组和在执行第一个 login_tty() 后成为进程组的领导者)。有什么建议或想法吗?
login_tty() 是否具有某种“逆”功能?