進程包括:代碼段+數據段+堆棧段+PCB
fork之後,子進程複製父進程的代碼段+數據段+堆棧段+PCB,只有PCB中的PID和PPID是不一樣的
父子進程具有獨立的4GB的地址空間(32bit的系統)
int short
unsinged short
只能用%d的方式輸出pid_t
調用一次,返回2次
爲啥父進程fork之後返回>0的值?,不返回=0?
返回的就是子進程的id號碼
因爲PCB中不可能保存子進程的id列表,這樣會使得PCB膨脹,信息太大
父進程加不加sleep,可能出現的情況如下:
父進程結束了,將控制權交給了shell提示符,子進程還沒結束,子進程的輸出信息就接在了shell提示符之後
父進程加上sleep,一定是子進程先運行結束,父進程才結束
14:58