首先要明白几点:
1.这些个函数都是exec系列的函数,属于替换进程映像,不产生新的进程,把原来的进程替换掉来执行路径(或文件)指向的程序,从main开始。 2.执行成功没有返回值,失败返回-1,注意这样的函数极易收到影响而失败,一定要加上错误处理的“外裹”函数。
3.执行完exec函数后原来的程序不再执行!
4.还有就是在一系列的参数结尾处都要加上一个空参数指针,最好使用(char*)0,使用0表示一个空指针的话会被编译成整形,如果系统中整形和char*长度不同会报错。
列下所有语法格式:
execl, execlp, execle, execv, execvp – execute a file
SYNOPSIS
#include
extern char **environ;
int execl(const char *path, const char *arg, …);
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[ ]);
1. execve(执行文件)
在父进程中fork一个子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级系统调用,其他(execl,execle,execlp,execv,execvp)都是调用execve的库函数。
表头文件: