2010-09-05 64 views
0

我有一個簡單的腳本,使用ProcessBuilder將輸出寫入控制檯。而OutputStreamWriter看到:Java處理子進程

Java Process with Input/Output Stream

較早的線程。我相信我的問題在於一個子進程產生並且最初的父進程被終止的事實。導致OutputStreamWriter拋出java.io.IOException: Broken pipe exception。鑑於應用程序正在產生第二個進程,我如何將我的OutputStreamWriter連接到這個新進程?包括能夠讀回它正在生成的輸出?這在Java中甚至可能嗎? Surly java應該能夠跟隨產生的過程。

感謝

+0

你是想讀一個孩子的孩子的輸出嗎? (直接的孩子去世了?) – 2010-09-05 11:34:05

+0

我運行我的過程,產生一個孩子。我想獲得這個新的子進程的輸出並寫入它。 – 2010-09-05 14:24:12

回答

2

你叫上你正在運行的進程waitFor()?這應該確保你的父母在孩子面前沒有完成。您可能還想看看commons exec,這是一個開源庫,旨在讓您在Java中運行單獨的進程時更輕鬆。