我正在一個相當簡單的應用程序在C中。最終目標是管輸出從一個進程到輸入另一個* nix環境(是的,我知道pipe()命令和dup/dup2,但我試圖找到使用這些命令)。我想知道是否有任何方式連接流而不是使用文件描述符(系統不能保證符合POSIX)。使用流管道輸入/輸出之間* nix進程
所以基本上我想要做這樣的事情(僞代碼)
pid = fork()
if pid == 0
// assign this process's stdin to the parents stdout.
stdin = parent.stdout;
exec() // launch new process that receives the parents stdout as stdin
// child stuff....
else
// parent stuff....
我知道,它可能不會是那麼簡單,只是在做一個分配如上,但有什麼辦法這樣做只使用流?我試圖環顧四周,但找不到任何東西..
謝謝!
您將無法避免使用管道將一個進程的標準輸出連接到另一個進程的標準輸入(除非您將Unix域套接字視爲替代方法)。 – 2012-04-18 00:43:34
好織補。好吧,我希望我可以懶惰。謝謝! – Neil 2012-04-18 00:46:34
出於興趣,pipe()或dup/2出了什麼問題? – 2012-04-18 00:49:13