2013-08-27 36 views
0

我正在嘗試編寫一個C++程序,它可以與另一個基於shell的程序(商業工具)進行交互,併發送命令並從中獲取結果。 我聽說過幾個選項,我想知道每個選項的優缺點。通過C++與基於shell的程序交互

1)我可以用「expect」來爲我工作。 2)我可以使用IPC和共享內存(我很熟悉)的概念來做到這一點。

如果有人對這些如何工作或有任何其他建議有任何想法,我將不勝感激。

感謝

+0

你在什麼操作系統上? –

+0

@AlanStokes Linux –

回答

0

一個事情,我已經做了該做得很不錯了使用socketpair()創建一個套接字,然後用叉+ exec來與它的stdinstdout重定向到一對遠端啓動子進程。此後,您只需通過一個雙向套接字連接遠程進程,這是非常標準的東西(儘管您必須記得正確地整理子進程)。