|
<!-- write by trotter 廣告鏈接 --><!--write by trotter 廣告鏈接 -->
Linux系統提供給用戶的最重要的系統程序是Shell命令語言解釋程序。它不屬于內核部分,而是在核心之外,以用戶態方式運行。其基本功能是解釋并執行用戶打入的各種命令,實現用戶與Linux核心的接口。系統初啟后,核心為每個終端用戶建立一個進程去執行Shell解釋程序。它的執行過程基本上按如下步驟: (1)讀取用戶由鍵盤輸入的命令行。 (2)分析命令,以命令名作為文件名,并將其它參數改造為系統調用execve( )內部處理所要求的形式。 (3)終端進程調用fork( )建立一個子進程。 (4)終端進程本身用系統調用wait4( )來等待子進程完成(如果是后臺命令,則不等待)。當子進程運行時調用execve( ),子進程根據文件名(即命令名)到目錄中查找有關文件(這是命令解釋程序構成的文件),將它調入內存,執行這個程序(解釋這條命令)。 (5)如果命令末尾有&號(后臺命令符號),則終端進程不用系統調用wait4( )等待,立即發提示符,讓用戶輸入下一個命令,轉⑴。如果命令末尾沒有&號,則終端進程要一直等待,當子進程(即運行命令的進程)完成處理后終止,向父進程(終端進程)報告,此時終端進程醒來,在做必要的判別等工作后,終端進程發提示符,讓用戶輸入新的命令,重復上述處理過程。 |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
