fork()
使用fork建立乙個子程序
在子程序從此時開始執行,並不執行fork前的內容
fork在父程序中返回子程序的pid, 在子程序中返回0
子,父程序是並行執行的,所以輸出可能是摻雜到一起的
# includemain()}/*fork表示開啟乙個子程序,從**的此處開始執行
區別父子程序是通過fork的返回值
父程序返回子程序的pid 子程序返回0
*/
2、wait( ) 等待子程序執行結束。如果子程序沒有完成,父程序一直等待。
呼叫格式: int wait(status) int *status;
其中,status 是使用者空間的位址。
它的低 8 位反應子程序狀態,為 0 表示子程序正常結束,非 0 則表示出現了各種各樣的問題;
高 8 位則帶回了 exit( )的返回值。exit( )返回值由系統給出。
3、exit( )
終止程序的執行。
系統呼叫格式: void exit(status) int status;
其中,status 是返回給父程序的乙個整數,以備查考。
為了及時**程序所占用的資源並減少 父程序的干預,unix/linux 利用 exit( )來實現程序的自我終止
通常父程序在建立子程序時,應 在程序的末尾安排一條 exit( ),使子程序自我終止。
exit(0)表示程序正常終止,exit(1)表示進 程執行有錯,異常終止。
如果呼叫程序在執行 exit( )時,其父程序正在等待它的終止,則父程序可立即得到其返回的 整數。核心須為 exit( )完成以下操作: (1)關閉軟中斷 (2)**資源 (3)寫記帳資訊 (4)置程序為「僵死狀態」
作業系統 程序控制
附錄 1.程序的建立 include includemain 2.程序的互斥 1 同步 include includemain else else 2 互斥 include includemain else else 3.程序的軟中斷通訊 include include includevoid wa...
作業系統 程序控制
知識總結 目錄 程序控制 1.程序建立 使用者登入,作業排程,列印等會導致新程序的建立 原語 原語 作業系統或 計算機網路用語範疇。是由若干條指令組成的,用於完成一定功能的乙個過程。是由若干個 機器指令 構成的完成某種特定功能的一段程式,具有不可分割性 即原語的執行必須是連續的,在執行過程中不允許被...
作業系統 程序控制
程序控制的主要功能是對系統中的所有程序實施有效的管理,它具有建立新程序 撤銷已有程序 實現程序狀態轉換等功能。簡化理解 程序控制就是要實現程序狀態的轉換。用原語實現程序控制。原語的特點是執行期間不允許中斷,只能一氣呵成。這種不可中斷的操作即原子操作。原語採用 關中斷 指令和 開中斷指令 實現。關中斷...