程序、父程序和子程序
在作業系統中,fork() 系統呼叫用於程序建立另一個程序。使用 fork() 系統呼叫的程序稱為父程序,而由此建立的程序稱為子程序。
以下是關於這些內容的詳細資訊:
程序
程序是一個正在執行的活動程式。它不僅僅是程式程式碼,還包括程式計數器、程序棧、暫存器、程式程式碼等。相比之下,程式程式碼僅是文字部分。
程序在其執行過程中會改變其狀態。此狀態部分取決於程序的當前活動。程序在其執行過程中所處的不同狀態包括新建、就緒、執行、阻塞、終止。
每個程序都關聯著一個程序控制塊。它包含與其關聯的程序的重要資訊,例如程序狀態、程序號、程式計數器、檔案和暫存器列表、CPU 資訊、記憶體資訊等。
父程序
作業系統中所有程序都是由一個程序執行 fork() 系統呼叫建立的,除了啟動程序。使用 fork() 系統呼叫的程序是父程序。換句話說,父程序是建立子程序的程序。一個父程序可以有多個子程序,但一個子程序只有一個父程序。
在 fork() 系統呼叫成功後,子程序的 PID 會返回給父程序,而 0 會返回給子程序。如果 fork() 系統呼叫失敗,則 -1 會返回給父程序,並且不會建立子程序。
子程序
子程序是作業系統中父程序使用 fork() 系統呼叫建立的程序。子程序也可能被稱為子程序或子任務。
子程序作為其父程序的副本建立,並繼承其大部分屬性。如果子程序沒有父程序,則它是由核心直接建立的。
如果子程序退出或被中斷,則會向父程序傳送 SIGCHLD 訊號。
以下是演示父程序和子程序的圖表:
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP