这段代码有什么作用?
if(fork()==0) {
if(fork()==0)
while(1);
} while(1)
我的意思是它会创建多少个子进程? if(fork()==0)
是否会创建新的子流程?
答案 0 :(得分:-1)
/*1*/ if(fork()==0) {
这会使孩子处理该过程,孩子进入父母继续的阻止。
/*2*/ if(fork()==0)
这儿孩子生孩子,我称之为孙子 孙子进入if
的真正分支/*3*/ while(1);
孙子在此期间结束,孩子跳过这个并退出街区
/*4*/ } while(1)
孩子走出街区并最终在此过程中,父母绕过街区并最终到达这里。
因此,创建了一个子孙和一个孙子的两个后代进程。