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