Posted on 2013-05-14 17:37
hoshelly 閱讀(871)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Linux
用f o r k函數(shù)創(chuàng)建子進(jìn)程后,子進(jìn)程往往要調(diào)用一種e x e c函數(shù)以執(zhí)行另一個(gè)程序。當(dāng)進(jìn)程調(diào)用一種e x e c函數(shù)時(shí),該進(jìn)程完全由新程序代換,而新程序則從其 m a i n函數(shù)開始執(zhí)行。因?yàn)檎{(diào)用e x e c并不創(chuàng)建新進(jìn)程,所以前后的進(jìn)程I D并未改變。e x e c只是用另一個(gè)新程序替換了當(dāng)前進(jìn)程的正文、數(shù)據(jù)、堆和棧段。
有六種不同的e x e c函數(shù)可供使用(具體參考APUE),它們常常被統(tǒng)稱為e x e c函數(shù)。這些e x e c函數(shù)都是U N I X進(jìn)程控制原語(yǔ)。用f o r k可以創(chuàng)建新進(jìn)程,用e x e c可以執(zhí)行新的程序。e x i t函數(shù)和兩個(gè)w a i t函數(shù)處理終止和等待終止。這些是我們需要的基本的進(jìn)程控制原語(yǔ)。