exec族函式及實戰2

2021-07-23 03:34:11 字數 491 閱讀 4100

《朱老師物聯網大講堂》學習筆記     

直接貼老師筆記,

3.4.10.exec族函式及實戰2

3.4.10.1、execlp和execvp

(1)加p和不加p的區別是:不加p時需要全部路徑+檔名,如果找不到就報錯了。加了p之後會多幫我們到path所指定的路徑下去找一下。

3.4.10.2、execle和execvpe

(1)main函式的原型其實不止是int main(int argc, char **argv),而可以是

int main(int argc, char **argv, char **env) 第三個引數是乙個字串陣列,內容是環境變數。

(2)如果使用者在執行這個程式時沒有傳遞第三個引數,則程式會自動從父程序繼承乙份環境變數(預設的,最早**於os中的環境變數);如果我們exec的時候使用execlp或者execvpe去給傳乙個envp陣列,則程式中的實際環境變數是我們傳遞的這乙份(取代了預設的從父程序繼承來的那乙份)

exec函式族筆記

include extern char environ int execl const char path,const char arg,int execv const char path,char const argv int execle const char path,const char a...

exec族函式總結

1 execve為系統呼叫 其他的都是封裝的函式 l 引數列表 p 在環境變數path中尋找 v 引數陣列 e 替換環境變數列表 返回值 函式出錯 返回0 否則不反回 原來的使用者區已經被替換 只留下pcb所以沒有返回的地方 exec族函式只替換使用者區 但是對核心區的pcb也有一定的影響 詳見 a...

exec函式族小結

本人最近了解了關於exec函式族相關的知識,在此進行一下總結。fork函式是用於建立乙個子程序,該子程序幾乎是父程序的副本。而當我們希望子程序去執行另外的程式時,exec函式族就提供了乙個在程序中啟動另乙個程式執行的方法。它可以根據指定的檔名或目錄名找到可執行檔案 這裡的可執行檔案既可以是二進位制檔...