execl函数族

#include
extern char **environ;
int execl(const char *path, const char *arg, …);
int execlp(const char *file, const char *arg, …);
int execle(const char *path, const char *arg, …, char * const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
execve是系统函数,是其它函数的基础
参数path 指向要执行的文件路径;后面的参数(arg 及其后面的省略号)代表执行该程序时传递的参数列表
参数file 指向要执行的程序,但不需要写出完整路径,函数会到环境变量PATH 所给出的路径中去查找

6个函数都是以exec 开头,表示属于exec 函数簇。后面是字母
l,表示list(列举参数)。接着字母v,表示vector(参数向量表)。它们的区别在于,execv 开头的函数是以“char *argv[]”(vector)形式传递命令行参数的,而execl 开头的函数采用罗列(list)的方式,把参数一个一个列出来,然后以一个NULL表示结束

你可能感兴趣的:(linux编程)