【发布时间】:2020-06-30 13:00:38
【问题描述】:
JVM 以这种方式处理 SIGPIPE 的原因是什么?
我会期待
java foo | head -10
与
public class Foo {
public static void main(String[] args){
Stream.iterate(0, n -> n + 1).forEach(System.out::println);
}
}
在编写第 11 行时导致进程被终止,但事实并非如此。相反,似乎在 PrintStream 上只设置了一个trouble 标志,可以通过System.out.checkError() 进行检查。
【问题讨论】: