你如何與D中的子進程進行分離和通信?是否有一個與D中的子進程分叉和通信的例子?
我想我非常想找http://erdani.com/d/new-stdio/phobos-prerelease/std_process.html#pipeProcess但pipeProcess似乎不在D2中。
我想執行一個子進程,並能夠從其stdout和stderr中讀取,寫入其stdin並接收退出通知和退出代碼。
在D中做這件事的最好方法是什麼?
謝謝,
Chris。
你如何與D中的子進程進行分離和通信?是否有一個與D中的子進程分叉和通信的例子?
我想我非常想找http://erdani.com/d/new-stdio/phobos-prerelease/std_process.html#pipeProcess但pipeProcess似乎不在D2中。
我想執行一個子進程,並能夠從其stdout和stderr中讀取,寫入其stdin並接收退出通知和退出代碼。
在D中做這件事的最好方法是什麼?
謝謝,
Chris。
最終,這個功能將在火衛一,但現在,這裏的一類我扔在一起:Pastebin link
你使用這樣的:
auto stream = new ProcessStream("ls -a");
// read, write, etc. from stream
目前,與您在C. pipe,fork,exec中相同的方式。
不漂亮。
我相信,該文檔被張貼了討論對std.stdio的建議更改,其std.process上的頁面可能是最終將會是新的std.process(因爲提議更改std.stdio的開發人員參與了std.process的重寫),但是Digital Mars的C運行時存在一個錯誤,它使新的std.process在Windows上無法工作(並且它可能會y影響這個,因爲它與管道有關)。儘管如此,它最終會以一種或另一種形式出現在福博斯。 –
謝謝,這很瞭解。我對D的熱情很大程度上取決於如何以跨平臺的方式寫出有用的東西。 – fadedbee