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[]);

收藏 打印