zoukankan      html  css  js  c++  java
  • exec函数族解析

    1.首先解释一下,exec函数的作用:它是为了在一个程序中运行另一个程序。

    例如:在一个程序中,执行fork(),可以产生两个进程,我们可以通过exec函数族来实现对父子进程的执行程序进行改变。

    2.exec函数族

    #include <unistd.h>
    extern char **environ;
    int execl(const char *path,const char *arg, ...);    //带有可变参数的需在参数列表之后添加NULL。
    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[]);
    int execve(const char *file,char *const argv[],char *const envp[]);

    3.exec函数族中后缀l、p、e、v分别表示的含义

    后缀 含义
    l(list) 命令行参数
    p(path) 搜索file时用path变量
    v(vector) 使用命令参数数组
    e(environment) 使用环境变量数组,不使用进程原有的环境变量,设置新加载程序运行的环境变量

     

     

     

     

    eg:  execlp("ls”, ”ls”, ”-l”, ”-a”, NULL);

    execl("/bin/ls”, ”ls”, ”-l”, ”-a”, NULL); 

    区别:需要添加路径。

    4.函数返回值

    函数执行成功,不进行返回值;执行错误,返回-1.

  • 相关阅读:
    行政区划代码和关键字提取
    清洗数据之地理纬度
    第三周学习进度
    性能战术在代码中的体现
    第二周学习进度
    淘宝网-质量属性场景
    如何做一名好的软件架构师
    寒假学习笔记16
    寒假学习笔记15
    寒假学习笔记14
  • 原文地址:https://www.cnblogs.com/single-dont/p/12607730.html
Copyright © 2011-2022 走看看