實現自己的shell框架

2021-07-11 08:09:19 字數 482 閱讀 9637

#include//系統基本資料型別

#include//waitpid()

#include//execvp()

while(1)

else

}

1、為什麼要fork乙個子程序來實現,直接while迴圈不可以嗎?

因為一旦執行execvp(),當前程序就會被execvp的程序所替代,執行完後就會結束程式,所以while迴圈是不可以的,必須要fork乙個子程序來執行。

2、command形式

char *command = 「/bin/ls」;可以沒有路徑,要求設定過環境變數。

3、parameters形式

char *parameters = ;因此常用parameters[0]作command。parameters最後乙個引數後的值一定要是null。

實現自己的shell(一)

乙個程式如何執行另乙個程式 答案 呼叫execvp 圖8.6顯示了乙個程式如何執行另乙個程式。比如,為了執行ls la,乙個程式呼叫execvp ls arglist 這裡arglist是命令列的字串陣列。核心從磁碟將程式載入記憶體。命令引數ls la被傳給程式,然後程式開始執行。簡而言之 1 程式...

Golang實現自己的RPC框架

rpc session.go package rpc import encoding binary io net 編寫資料會話中讀寫 會話連線的結構體 type session struct 建立新連線 func newsession conn net.conn session 向連線中寫資料 fu...

實現自己的MVC框架 php 1

從封閉的大學出來,重新接觸到著時時都在變化的社會的時候,不禁流下了眼淚,同時站在原地感嘆著這世界。從哥哥那裡聽說mode2和mvc的概念,到開始看mvc的文章,又到現在的想法,我又感覺到了久違的熱情,呵呵。在了解到mvc模型的可行性後,我打算將mvc應用於自己的畢業設計 web交易平台 這本身就是個...