進程控制

1.共享庫:減小可執行文件大小,增加程序的運行時開銷;開銷發生在程序第一次被執行時,或者共享庫函數第一被調用時;gcc組織程序使用共享庫(將共享庫靜態鏈接到可執行文件):gcc-static ex01.c
2.進程ID的延遲重用:已終止進程的進程ID可以被重用,但是一般系統都實現了延遲重用算法,以防止將新進程誤認爲是已終止的先前進程
3.進程ID 0通常是調度進程,成爲交換進程swapper;進程ID1通常是init進程,在系統啓動(自舉)完成後由內核調用,init通常讀取與系統有關的初始化文件,它是一個普通的用戶進程,但是以超級用戶特權運行,init進程可以成爲所有孤兒進程的父進程
4.vfork用於創建一個新進程,該新進程的目的是exec一個新程序,在exec新程序之前,子進程在父進程的地址空間運行(fork創建的新進程父子進程空間相互獨立),另外,vfork保證子進程先執行,即在子進程調用exec或者exit之後,父進程纔可以恢復執行
5.如果父進程沒有處理終止的子進程(如捕獲SIGCHLD信號),那麼子進程將處於僵死狀態;如果此時父進程終止,那麼僵死的子進程將會被init進程回收爲它的子進程,也就是,init進程將wait它們,並解除它們的僵死狀態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章