0

我正在尝试编写一个 C++ 程序,在该程序中它可以与另一个基于 shell 的程序(商业工具)交互并发送命令并从中获取结果。我听说过几个选项,我想知道每个选项的优点/缺点。

1)我可以使用“期望”来为我完成工作。2)我可以使用IPC和共享内存的概念(我很熟悉)来做到这一点。

如果有人对这两个选项如何工作或有任何其他建议有任何想法,我将不胜感激。

谢谢

4

1 回答 1

0

我做过的一件效果很好的事情是socketpair()用来创建一个套接字,然后使用 fork+exec 来启动子进程stdinstdout重定向到该对的远端。此后,您只需通过双向套接字连接一个远程进程,这是非常标准的东西(尽管您必须记住正确整理子进程)。

于 2013-08-28T21:47:11.997 回答