相关疑难解决方法(0)

如果父进程没有在Java中使用stdout/stderr,为什么进程会挂起?

我知道如果你ProcessBuilder.start在Java中使用它来启动一个外部进程,你必须使用它的stdout/stderr(例如见这里).否则外部进程会在启动时挂起.

我的问题是为什么它以这种方式工作.我的猜测是JVM将执行过程的stdout/stderr重定向到管道,如果管道没有空间,则对管道的写入阻塞.是否有意义?

现在我想知道为什么 Java会这样做.这个设计背后的理由是什么?

java process processbuilder

9
推荐指数
2
解决办法
5007
查看次数

标签 统计

java ×1

process ×1

processbuilder ×1