通过C++与基于shell的程序交互
Interact with a shell based program through C++
我正在尝试编写一个C++程序,在该程序中,它可以与另一个基于shell的程序(商业工具)交互,发送命令并从中获取结果。我听说了几个选项,我想知道每个选项的优点/缺点。
1) 我可以用"期望"来为我做这份工作。2) 我可以使用IPC和共享内存(我很熟悉)的概念来做这件事。
如果有人知道这两种选择是如何运作的,或者有任何其他建议,我将不胜感激。
感谢
我做过的一件非常有效的事情是使用socketpair()
创建一个套接字,然后使用fork+exec启动子进程,将其stdin
和stdout
重定向到对的远端。此后,您只需要通过双向套接字连接一个远程进程,这是非常标准的东西(尽管您必须记住正确整理子进程)。
相关文章:
- 生成代码以与不需要重新编译的正在运行的 cpp 应用程序交互的好方法是什么?
- C++中的程序如何使用"系统"变量与 Linux 中的 shell 脚本交互?
- Qt GUI应用程序在与GUI交互时停止实时进程
- 程序如何与另一个程序进行交互
- 我可以在形式的应用程序中查询用户交互事件
- 可视化C++程序如何使其与其他程序交互
- 与其他应用程序的交互
- 编写具有命令行交互的后台程序
- 编译后的程序如何与操作系统交互
- 如何在网页和实际程序之间进行交互
- 如何在C++中与其他应用程序进行交互
- 优化程序与专用于 what 命令的字符串之间的交互
- C++(DLL)与C#控制台应用程序的交互问题
- 使 c++ 程序以交互方式将输入输出传递给 windows 命令 prommpt
- 如何使两个应用程序交互
- 通过C++与基于shell的程序交互
- C++可以用来与正在运行的应用程序交互吗
- 可以与另一个程序交互的程序
- 如何使一个c++程序与鼠标点击和X窗口系统应用程序交互
- 如何与另一个应用程序交互