首先,exec
是 execute (意为:执行)
的缩写。
exec
系列函数
各个“后缀”的意思: l 为 list 可变参数列表、v 为 vector、p 为 PATH、e 为环境变量数组 envp
-
execl
:l 为 list 可变参数列表-
原型:
int execl(const char *path, const char *arg, ... /* (char *)NULL */);
-
功能:加载并执行指定的可执行文件,参数以变长参数列表的形式提供。
-
特点:参数列表以
NULL
结尾。 -
使用示例:
execl("/bin/echo", "echo", "Hello, world!", (char *)NULL);
-
-
execle
:l 为 list 可变参数列表,e 为环境变量数组 envp-
原型:
int execle(const char *path, const char *arg, ... /* (char *)NULL */, char * const envp[]);
-
功能:加载并执行指定的可执行文件,参数以变长参数列表的形式提供,并且可以指定环境变量数组。
-
特点:参数列表以
NULL
结尾,同时可以指定环境变量数组。 -
使用示例:
char *envp[] = {"HELLO=world", "USER=root", NULL}; execle("/bin/echo", "echo", "$HELLO", (char *)NULL, envp);
-
-
execlp
:l 为 list 可变参数列表,p 为 PATH-
原型</
-