3個fork產(chǎn)生多少進程 for(i=0i<5i ) if(fork()==0) continue 一共會生成多少個進程?
for(i=0i
for(i=0i<5i ) if(fork()==0) continue 一共會生成多少個進程?
父進程調(diào)用fork五次以生成ABCDE。在一個過程中,I的起始值是1。在四個AA過程中,I的起始值是2。在三個AAA進程中,I的起始值是3。在兩個AAA過程中,AAAA過程中I的起始值為3,AAAA過程中I的起始值為4。調(diào)用fork一次以生成AAAAA進程。在AAAAA中,I的起始值是5。不再調(diào)用fork AB進程,I的起始值是2。調(diào)用fork三次生成ABA,abb,ABC三個進程。。。最后,可以生成80個進程來理解fork的原理,fork的子進程復(fù)制了父進程的整個內(nèi)存空間,因此父進程調(diào)用fork后,fork的I與父進程的I相同,但子進程會立即使I的值繼續(xù)增加1