我正在使用Groovy編寫包裝腳本(但問題實際上是一個Java),並且想知道是否可以創建一個Process而不讓它先運行。問題在於進程開始運行並在stdout和stderr上生成輸出。我想將它們轉發到適當的目的地,同時創建一個合併流以便在腳本中進行處理。但是,我遇到的問題是,進程產生的輸出過快,前兩行的輸出有點亂碼。我想在流程開始運行之前設置流。任何方式來做到這一點?任何方式來延遲流程執行?
0
A
回答
0
這會消耗輸出和錯誤流分成兩個獨立的StringWriters,但我沒有看到任何「亂碼」
new StringWriter().with { out ->
new StringWriter().with { err ->
'ls /tmp'.execute().with { proc ->
consumeProcessOutput(out, err)
waitFor()
}
println "OUT: $out"
println "ERR: $err"
}
}
+0
感謝您的嘗試,但在實踐中,ProcessProcessOutput()調用有機會做任何事情之前,Process仍然開始運行。它不是很長,但也是可變的 - 例如,假設一個GC發生在兩者之間。 – dromodel 2012-04-13 19:33:18
+0
但是這個過程應該寫入流,這就是爲什麼如果你不消耗它們的東西可以開始掛起...你有一個例子,我們可以運行,展示你看到的問題? – 2012-04-13 20:07:28
相關問題
- 1. 任何方式來延遲PaintComponent?
- 2. 任何方式來延遲代碼執行,直到頁面打開
- 3. 延遲執行
- 4. 線程執行延遲+ Android
- 5. Android ScheduledThreadPoolExecutor立即執行延遲任務
- 6. 彈簧多任務延遲執行
- 7. 延遲然後執行任務
- 8. Apache Storm:執行程序之間的關係,執行延遲和進程延遲?
- 9. 如何延遲課程執行?
- 10. 任何方式來延遲在Java GUI中的操作
- 11. 延遲執行IRP_MN_SET_POWER
- 12. LINQ延遲執行
- 13. AS3延遲執行?
- 14. PLINQ延遲執行
- 15. 從方法和延遲執行
- 16. 執行延遲後的方法
- 17. 延遲方法執行命令
- 18. 如何在線程延遲之後優先執行方法?
- 19. 用取消執行延遲執行任務
- 20. 正確的方式來延遲任務的開始
- 21. 線程池執行延遲疑問
- 22. 執行存儲過程的長延遲
- 23. MySQL觸發器/程序執行延遲
- 24. 延遲在vb.net中執行進程
- 25. 創建延遲執行程序
- 26. 延遲Netezza存儲過程執行
- 27. 延遲任務:在Spring 3中首次執行調度程序
- 28. AVPlayer流延遲
- 29. C#的LINQ - 延遲執行
- 30. Javascript代碼執行延遲
你可以張貼到目前爲止你已經嘗試過什麼是片段? – 2012-04-12 20:57:16
Thread.sleep()不適合你嗎? – CodeBlue 2012-04-12 20:57:58
你也可以看看Thread.join()。 – 2012-04-12 21:00:21