exec函数

1、exec函数族

头文件: #include <unistd.h>

int execl (const char *pathname, const char*arg0,……)

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

int execle (const char *pathname, const char *arg0,……,char * const envp[])

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

int execlp (const char *filename, const char *arg0,……)

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

若是成功则不返回,出错则返回-1

2、exec函数的作用

exec函数是根据制定的文件名找到可执行文件,并用它来取代调用进程的内容。即在调用进程内部执行一个可执行文件。

其中可执行文件可以是二进制文件,以可以任何linux下可执行的脚本文件

 

3、6个函数间关系

                                          

只有execve函数是内核中的系统调用,其他5个都是调用execve的库函数

4、6个函数的区别

4.1 前四个以路径名作为参数,后两个取文件名作为参数

4.2 上图中,上面那行中的3个函数,每个参数字符串指定exec的一个独立参数,并以一个空指针结束可变数量的这些参数。下面一行的三个函数都有一个作为exec参数的argv数组,其中含有指向新程序更个参数字符串的所有指针。argv数组必须含有一个用于制定其末尾的空指针

4.3 左列两个函数是使用当前PATH环境变量把该文件名参数转化为一个路径名。但是一旦这2个函数的filename参数中含有一个“/”,那就不再使用PATH环境变量。右两列4个函数指定一个全限定的pathname参数。

4.4 左四列是使用外部变量environ的当前值来构造一个传递给新程序的环境列表

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值