4

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

4

1 回答 1

1

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

这完全是一团糟,而且几乎可以肯定,对于你想要做的事情来说过于复杂了。所以:你到底想做什么?

于 2012-06-02T03:41:19.377 回答