title: exec函数
date: 2019/12/5 19:40:51
toc: true
---
exec函数
原型
int execl(const char *pathname, const char *arg0, ... /* (char *)0 */ );
int execv(const char *pathname, char *const argv[]);
int execle(const char *pathname, const char *arg0, ...
/* (char *)0, char *const envp[] */ );
int execve(const char *pathname, char *const argv[], char *const envp[]);
int execlp(const char *filename, const char *arg0, ... /* (char *)0 */ );
int execvp(const char *filename, char *const argv[]);
int fexecve(int fd, char *const argv[], char *const envp[]);
解释
pathname
是路径,filename
是文件名,如果filename
含有/
也是路径名,fd
是描述符- l参数可以使用指针数组,也就是
char *const argv[]
形式,第一个元素是exe的名字 - v参数也可以使用不定参数的形式,以
(char*)0
判定 - e环境变量也可以使用指针数组
char *const envp[]
- 环境变量使用不定参数也是按照null判定
继承的属性
权限位的设置
这里的设置用户id位和设置组id位实际就是文件权限位的[xxxx]四个8进制的最高的8进制,