fork

深度剖析fork()的原理及用法

fork()是一個(gè)在類(lèi)Unix操作系統(tǒng)(如Linux)中常用的系統(tǒng)調(diào)用,用于創(chuàng)建一個(gè)新的進(jìn)程。新進(jìn)程(子進(jìn)程)是調(diào)用進(jìn)程(父進(jìn)程)的一個(gè)副本。子進(jìn)程從父進(jìn)程繼承了代碼、數(shù)據(jù)、堆、棧、文件描述符等。但是,子進(jìn)程有自己獨(dú)立的地址空間,對(duì)其所做的修改不會(huì)影響父進(jìn)程的地址空間。這樣的設(shè)計(jì)有助于進(jìn)程間的資源隔離。下面詳細(xì)討論fork()的原理和用法:原理:當(dāng)進(jìn)程調(diào)用fork()時(shí),操作系統(tǒng)會(huì)為子進(jìn)程創(chuàng)建一個(gè)