3
經過研究,我發現使用java的ProcessBuilder的「正確」方式是產生兩個其他線程來管理吞噬新創建的進程的stdout/stderr,以便它不會像原樣那樣掛起如下圖所示: javaworld article正確使用ProcessBuilder
但是,這給我留下了疑惑2問題 - 1)爲什麼究竟是單獨的進程所需的而不是父進程吞噬標準輸出,然後依次標準錯誤?
2.)另外,如果您要將流重定向到兩個都轉到標準輸出,只需讓父進程吞下標準輸出流,然後不必擔心死鎖?