我們知道命令解釋程式 shell 對命令的執行其實也是呼叫了 exec 系列的系統呼叫
執行後的結果如下截圖,也就是執行了兩次 docommand 函式
但如果我們在 docommand 函式中的 fork 產生的父程序中使用 exit(0) 函式來結束當前的父程序,就不會再返回main 函式了。那麼 docommand 函式就只會執行一次了。
從這個程式裡需要明白的是:我們在 shell 中輸入命令的時候,shell 程序還是在執行的,而會在後台執行剛剛輸入的命令或程式,其實就是使用了linux中的 fork( ) 和 exec( ) 系統呼叫來實現的機制,從父程序中開出另乙個子程序,子程序可以執行與父程序不一樣的程式。
第三章 程序描述與控制
一 程序 二 程序狀態轉換 五狀態模型 七狀態模型 重要的狀態間轉換 三 程序描述 作業系統的控制結構 程序控制結構 程序控制塊 四 程序控制 執行模式 程序的建立 程序切換 toc識別符號 唯一標識 狀態 執行狀態 優先順序 相對於其他程序的優先順序 上下文資訊 程序執行時處理器暫存器中的資料 i...
Linux第三章 程序概念
1.調研程序的排程演算法.有利於長作業和cpu繁忙的作業,不利於短作業和i o繁忙作業 輪轉法 round robin 將所有需要cpu處理的就緒的程序按照fcfs原則排隊。之後cpu會劃分時間片,根據時間片來給佇列上的程式執行,當時間片結束。當前程序中斷,讓出cpu讓下一程序使用。高響應比優先排程...
第三章 流程控制
流程控制結構 這就是語法了 1 了解流程控制語句 實現對程式的執行流程進行控制的一種語句。包括 順序結構 選擇結構 迴圈結構 是否有選擇結構 迴圈結構可以稱為是界定一種語言是否是程式語言的標準。順序流程 順序 程式預設就是這種流程語句,自上而下挨個執行。選擇結構 又稱為分支 轉向 多種條件情況,對應...