进程管理2
exec,wait,waitpid系统调用
exec
包含头文件<unistd.h>
原型
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[]);
path参数表示你要启动程序的名称包括路径名
arg参数表示启动程序所带的参数
返回值:成功返回0,失败返回-1
不带字母 p的exec函数第一个参数必须是程序的相对路径或绝对路径
带有字母l(表示list)的exec函数要求将新程序的每个命令行参数都当作一个参数传
给它,命令行参数的个数是可变的,最后一个可变参数应该是
NULL
对于带有字母v(表示vector)的函数,则应该先构造一个指向
各参数的指针数组,然后将该数组的首地址当作参数传给它,数组中的最后一个指针也应该
是NULL,就像main函数的argv参数或者环境变量表一样
对于以e(表示environment)结尾的exec函数,可以把一份新的环境变量表传给它,其
他exec函数仍使用当前的环境变量表执行新程序
举例
char *const