3個(gè)fork產(chǎn)生多少進(jìn)程 父進(jìn)程用fork創(chuàng)建子進(jìn)程之后,父子進(jìn)程之間有什么關(guān)系?
父進(jìn)程用fork創(chuàng)建子進(jìn)程之后,父子進(jìn)程之間有什么關(guān)系?1. 父進(jìn)程和子進(jìn)程之間的關(guān)系關(guān)于資源:子進(jìn)程獲取父進(jìn)程的副本,但代碼段與父進(jìn)程共享。子進(jìn)程的所有資源都繼承自父進(jìn)程,并獲取父進(jìn)程資源的副本。因
父進(jìn)程用fork創(chuàng)建子進(jìn)程之后,父子進(jìn)程之間有什么關(guān)系?
1. 父進(jìn)程和子進(jìn)程之間的關(guān)系關(guān)于資源:子進(jìn)程獲取父進(jìn)程的副本,但代碼段與父進(jìn)程共享。子進(jìn)程的所有資源都繼承自父進(jìn)程,并獲取父進(jìn)程資源的副本。因?yàn)樗且粋€(gè)副本,也就是說,它們不共享地址空間。,兩個(gè)是獨(dú)立的過程。繼承之后,二者不相關(guān),子進(jìn)程獨(dú)立運(yùn)行。關(guān)于文件描述符:繼承父進(jìn)程的文件描述符時(shí),相當(dāng)于調(diào)用DUP函數(shù)。父進(jìn)程和子進(jìn)程共享文件表?xiàng)l目,也就是說,它們一起操作同一個(gè)文件。一個(gè)進(jìn)程修改文件,另一個(gè)進(jìn)程也知道文件已被修改。2線程和進(jìn)程之間的關(guān)系進(jìn)程的線程共享進(jìn)程獲得的資源,但線程有一小部分自己的資源,即堆棧空間,以保存其運(yùn)行狀態(tài)和局部自動(dòng)變量。堆就是堆,堆就是堆。Stack可以被調(diào)用:Stack,Stack,Stack和Stack引用Stack,但是它們的調(diào)用不同。堆只能稱為堆。在線程中,新空間占用進(jìn)程的資源,即堆資源(heap)。