在 C/C++ 中读取/写入屏幕过程

Reading/writing to screen process in C/C++

本文关键字:屏幕 过程 C++ 读取      更新时间:2023-10-16

我想知道如何在 C/C++ 中连接到屏幕进程,我经常希望让 C 程序侦听该屏幕窗口的输出并对该输出做出反应,并向该会话上运行的程序发送一些输入。我只是不确定我应该如何连接到该屏幕会话,并且我没有发现任何非常有用的搜索。

完全按照自己的意愿去做。 screen 期望在终端设备内运行,所以如果(我假设你在 Linux 上)你想以编程方式创建它,你必须使用 posix_openpt() 设置终端伪设备,用 grantpt()/unlockpt() 设置从设备,分叉,在子进程中打开从属设备,将其复制到 stdin/out/err, 最后使用适当的选项执行屏幕。 现在,您可以像终端模拟器一样发送命令并接收终端通知。 有关更多详细信息,请查看手册页以获取pty(7);我很确定我错过了一些。

这一切都是一个巨大的混乱,几乎可以肯定的是,对于你想要做的事情来说过于复杂了。 那么:你到底想做什么?