exec 系列函式

2021-10-25 04:27:46 字數 1100 閱讀 5018

本質:用新的程式代替新的程序,可以指定要執行程式的檔案

exec函式如下:

intexecl

(const

char

*path,

const

char

*arg,..

.);path:指定路徑(相對/絕對路徑)

arg:相當於命令列引數,最後加上null。

intexeclp

(const

char

*file,

const

char

*arg,..

.);函式名以p結尾,使程式名在path中搜尋。

無p時,使用路徑搜尋。

intexecle

(const

char

*path,

const

char

*arg,..

.,char

*const envp)

;int

execv

(const

char

*path,

char

*const ar**)

;ar**:建立乙個字串陣列,向新程式中傳遞命令列引數,以null結尾。

intexecvp

(const

char

*file,

char

*const ar**)

;int

execve

(const

char

*path,

char

*const ar**,

char

*const envp)

;成功時:無返回,失敗時:返回-

1

1 #include

2 #include

3 #include45

intmain()

613else

if(pid>0)

1418

else

if(pid ==0)

1925

26return0;

27}

exec系列函式

1.exec家族一共有六個函式,分別是 1 int execl const char path,const char arg,2 int execle const char path,const char arg,char const envp 3 int execv const char path...

Linux 之exec系列函式

當程序呼叫exec系列函式中的任乙個時,該程序使用者空間資源 正文 資料 堆 棧 完全由新程式替代。因為呼叫exec並不建立新程式,如果無特殊指示 程序核心資訊基本不用修改 1 execl函式宣告如下 from usr include unistd.h int execl const char pa...

exec系列函式的實現

exec系列函式從linux的linux binfmt鍊錶中,通過依次呼叫每個結構的load binary函式來選擇合適的執行格式,一旦找到就執行load binary函式,否則嘗試下乙個linux binfmt的load binary 直到嘗試完所有的linux binfmt。load binar...