1. 程式人生 > >exec系列函式

exec系列函式

int execl(const char *pathname const char *arg0 ... /* (char *)0 */ );
execl()
函式用來執行引數path字串所指向的程式,第二個及以後的引數代表執行檔案時傳遞的引數列表,最後一個引數必須是空指標以標誌引數列表為空.

execl("/bin/ls","ls","-l","-a","/etc",NULL);

 

int execle(const char *pathname const char *arg0 .../* (char *)0 char *const envp[] */ );
execle()
函式用來執行引數

path字串所指向的程式,第二個及以後的引數代表執行檔案時傳遞的引數列表,最後一個引數必須指向一個新的環境變數陣列,即新執行程式的環境變數.

char * const envp[] = {"AA=11", "BB=22", NULL};

execle("/bin/ls","ls","-l","-a","/etc",NULL,env);

 

int execlp(const char *filename const char *arg0 ... /* (char *)0 */ );

execlp()函式會從PATH環境變數所指的目錄中查詢檔名為第一個引數指示的字串,找到後執行該檔案,第二個及以後的引數代表執行檔案時傳遞的引數列表,最後一個引數必須是空指標

.

execlp("/bin/ls","ls","-l","-a","/etc",NULL);

 

int execv(const char *pathname char *const argv[]);

int execvp(const char *filename char *const argv[]);

execv()函式函式用來執行引數path字串所指向的程式,第二個為陣列指標維護的程式引數列表,該陣列的最後一個成員必須是空指標.

execvp()函式會從PATH環境變數所指的目錄中查詢檔名為第一個引數指示的字串,找到後執行該檔案,第二個及以後的引數代表執行檔案時傳遞的引數列表,最後一個成員必須是空指標

.

char *argv[] = {"ls" "-l" "/etc" (char *)0};

execv("/bin/ls" argv);

execvp("ls" argv);

 

int execve(const char *pathname char *const argv[] char *const envp[]);