fork()函數(shù) 什么是fork,它是干什么的,有什么作用?
什么是fork,它是干什么的,有什么作用?Linux下創(chuàng)建新進(jìn)程的系統(tǒng)調(diào)用是fork function,英文意思是“fork”。為什么叫這個(gè)名字?因?yàn)橐粋€(gè)進(jìn)程在運(yùn)行時(shí),如果使用fork,會(huì)生成另一個(gè)進(jìn)
什么是fork,它是干什么的,有什么作用?
Linux下創(chuàng)建新進(jìn)程的系統(tǒng)調(diào)用是fork function,英文意思是“fork”。為什么叫這個(gè)名字?因?yàn)橐粋€(gè)進(jìn)程在運(yùn)行時(shí),如果使用fork,會(huì)生成另一個(gè)進(jìn)程,這個(gè)進(jìn)程會(huì)被“forked”,所以名字非常生動(dòng)。讓我們看看如何使用叉子。這個(gè)程序演示了使用fork的基本框架:void main(){int i if(fork()==0){/*subprocess program*/for(i=1,i
fork調(diào)用后?
return是函數(shù)return PID,已經(jīng)執(zhí)行了兩次。因?yàn)閯?chuàng)建子流程后,子流程中的fork將返回一次。如果Linux中沒有寫入內(nèi)存,那么父子進(jìn)程是共享內(nèi)存空間,因此內(nèi)存中的相同fork函數(shù)將在兩個(gè)進(jìn)程中調(diào)用。父進(jìn)程中返回的是子進(jìn)程ID,子進(jìn)程中返回的是0。一個(gè)調(diào)用是指在父進(jìn)程中調(diào)用這個(gè)函數(shù),父進(jìn)程和子進(jìn)程中的兩個(gè)返回。