o ## exec族函式
為什麼使用exec族函式?
讓乙個程序要執行另乙個不同的程式。在fork建立乙個新程序後,呼叫exec族函式來讓新程序執行其他程式。
exec族函式:
execl, execlp, execle, execv, execvp, execvpe ,呼叫失敗時返回-1,並從呼叫點繼續往下執行。
exec族函式原型
#include extern char **environ;
int execl(const char *path, const char *arg, ...);
int execv(const char *path, char *const ar**);
int execlp(const char *file, const char *arg, ...);
int execvp(const char *file, char *const ar**);
int execle(const char *path, const char *arg,..., char * const envp);
int execvpe(const char *file, char *const ar**,char *const envp);
path:可執行檔案的路徑名字,arg:可執行程式所帶的引數。file:可執行檔案路徑 名,或者path環境變數。
測試**:呼叫execl讓子程序執行date獲取時間
#include #include #include #include int main()}}
if(pid > 0)
printf("execl failed\n");
}return 0;
}
執行結果:
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函式族就提供了乙個在程序中啟動另乙個程式執行的方法。它可以根據指定的檔名或目錄名找到可執行檔案 這裡的可執行檔案既可以是二進位制檔...