• exec由6个函数组成
  • 如何记忆
  • 样例

    exec函数族的作用是让fork出的子进程能够执行与父进程不同的代码段,实现不同的功能。

    exec由6个函数组成

    1. int execl(const char *path,const char *arg,...);
    2. int execlp(const char *file,const char *arg,...);
    3. int execle(const char *path,const char *arg,...,char *const encp[]);
    4. int execv(const char *path,const char *argv[]);
    5. int execvp(const char *file,const char *argv[]);
    6. int execve(const char *path,const char *argv[],char *const envp[]);

    如何记忆

    字符 原型 描述
    l list 选项列表,对应函数的省略号,可以写多个参数,以NULL结尾
    v vector 将命令的多个选项放到一个数组里,作为第二个参数
    p path 在系统PATH变量的路径里搜索,无p字符的函数则需要给出可执行文件的全路径名
    e enviroment 表示将一份新的环境变量传给他?

    样例

    1. execlp("ls", "ls", "-a", (char *)NULL);
    2. char *v[] = {"ls", "-a", NULL};
    3. execvp("ls", v);