子進程從父進程繼承了:
- 用戶號UIDs和用戶組號GIDs
- 進程組號
- 當前工作目錄
- 根目錄
- 環境
- 打開文件的描述符
- 共享內存
- 堆棧
- 信號控制設定
- 信號掩碼
- 控制終端
- 文件方式創建屏蔽字
- 執行時關閉(close-on-exec) 標誌
- 資源限制
- nice值 (由nice函數設定,數值越小,優先級越高)
子進程與父進程不同的:
- 進程號PID
- 各自的父進程號
- 自己的文件描述符和目錄流的拷貝(譯者注: 目錄流由opendir函數創建,因其爲順序讀取,顧稱“目錄流”)
- 子進程不繼承父進程的進程正文, 數據和其它鎖定內存
- 不繼承異步輸入和輸出
經過fork()以後,父進程複製了自己的PCB塊給子進程,而代碼段、數據段、堆棧內存空間與子進程共享。