Process.waitFor()是否使进程依赖于java父级?

Aha*_*ine 5 java

通常,如果我通过以下方式创建进程:

Process proc = new ProcessBuilder("some_long_running_script.py").start();
Run Code Online (Sandbox Code Playgroud)

然后我的java程序完成,我可以看到脚本进程继续运行(如预期的那样)

但是,如果我然后添加代码:

proc.waitFor();
Run Code Online (Sandbox Code Playgroud)

然后在脚本完成之前杀死我的java程序,我可以看到脚本也死了(不像预期的那样).

这似乎是说"waitFor()"以某种方式将脚本进程与我的java进程合并,这是设计的吗?我似乎无法在文档中的任何地方看到它.

这可能是特定于操作系统吗 我在Mac Yosemite上运行