exec系列函式的原理及用法

2021-08-27 16:12:25 字數 714 閱讀 3080

用exec函式進行程序替換:

在多程序程式設計下,用函式封裝,其所有的子程序做的事情基本相同;程序替換後,建立出子程序,子程序根據條件呼叫新的程式檔案,呼叫成功後,原程式將不再繼續執行,**示例如下

上圖在子程式中通過exec替換新的**,從而執行新的程式檔案。

exec系列函式格式

int execl(char pathname,char *argv1,char *argv2,……,char *argvn,(char )0);

int execv(char *pathname,char *argv); (argv[0]=第乙個引數)

int execle(char pathname,char *argv1,char *argv2,……,char *argvn,(char )0,char *envp);

int execve(char *pathname,char *argv,char *envp);

int execlp(char *file,char *argv1,char *argv2,……,char *argvn);

int execvp(char *file,char *argv);

函式的返回值:

成功不會返回。

失敗則返回-1,同時記錄在error中。

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...

exec 系列函式

本質 用新的程式代替新的程序,可以指定要執行程式的檔案exec函式如下 intexecl const char path,const char arg,path 指定路徑 相對 絕對路徑 arg 相當於命令列引數,最後加上null。intexeclp const char file,const ch...

exec系列函式的實現

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