linux exec 系列函数说明

5 篇文章 0 订阅
1. execl(const char *path,argv0,argv1,...,0);
    /**
    *其中path表示要启动可执行文件的文件名,包括路径名
    *会默认的在系统环境变量PATH中搜寻,如果给定文件路径名,那么直接找这个文件
    *argv0,argv1....为可变参数列表,最后一个用(char*)0结束
    */

2.execlp(const char *file,argv0,argv1,...,0);
    /**

    *其中file表示要启动可执行文件的文件名
    *文件名会默认的在系统环境变量PATH中搜寻,如果给定文件路径名,那么直接找这个文件
    *   argv0,argv1....为可变参数列表,最后一个用(char*)0结束
    */

2.execle(const char *path,argv0,argv1,...,0,char* const envp[]);
    /**
    *其中path表示要启动可执行文件的文件名,可以不包括路径名,路径由envp给定
    *envp表示要搜索可执行文件的路径,文件目录
    *整个函数表示,在envp所指的文件路径下,搜索可执行文件path,并且给这个可执行文件的参数为
    *   argv0,argv1....0(结束)
    */

    /**
        execv,execvp,execve
        与上面三个不同的就在于他们不是可变参数列表,而是把参数放在一个指针数组里面
    */

4.execv(const char *path,char*const argv[]);
    /**

    *其中path表示要启动可执行文件的文件名,可以不包括路径名,可以不包括路径名
    *文件名会默认的在系统环境变量PATH中搜寻
    *envp表示给可执行的文件设置环境变量
    */

5.execvp(const char *file,char* const argv[]);
    /**
    *其中file表示要启动可执行文件的文件名,可以不包括路径名
    *文件名会默认的在系统环境变量PATH中搜寻
    *argv参数数组,最后一个参数用(char*)0结束
    */

6.execve(const char *path,char* const argv[],char* const envp);
    /**
    *其中file表示要启动可执行文件的文件名,可以不包括路径名
    *文件名会默认的在系统环境变量PATH中搜寻
    *argv参数数组,最后一个参数用(char*)0结束
    */

7.int execve(const char *filename, char *const argv[],char *const envp[]);

    /**规律
    *所有的函数调用都是通过系统调用函数execve实现的
    *所有带p结尾的函数会默认的在系统环境变量PATH中搜寻可执行文件,(在不指定可执行文件路径的情况下)
    *带l的函数都是可变参数的,不带l的是把可执行文件的参数放在一个指针数组里面
    */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值