除了
waitPid()您将父进程放在前台这一事实之外,没有什么特别的。
如果分叉,然后等待子进程完成,则将有一个(简化的)进程树,如下所示:
─┬= 1 init └─┬= 2 bash --login └─┬= 3 java pre └─── 4 bash child.sh
java是终端中的前台进程,子进程位于其进程组中。
当您按^ C时, 整个前台进程组将终止 。1个
如果你 不 等待,然后在第一你的进程树是一样的,如上图所示。该
java过程终止,子进程在进程树的根成为进程的子。
─┬= 1 init ├──= 2 bash --login └─── 4 bash child.sh
子进程完成执行并正常终止。
1进程组收到一个SIGINT,其默认操作将终止。但是,可能会安装其他信号处理程序。



