man 3 exec查看exec系列函数
本质上这些函数就是在本程序里调用其他程序,让其他程序开始执行,性质有点类似脚本
./bin/xxx
下面是这些函数
int execl();
int execlp();
int execle();
int execv();
int execvp();
int execvpe();
- 上述函数中l和v表示参数是以列表list或者是数组(arry,这里布置到为什么用v)的形式提供的
- p表示函数第一个参数是*path路径,输入绝对路径。而不含p的函数可以是相对路径也可以是绝对路径
- e表示为程序提供新的环境变量
测试用例:
#include <stdio.h>
#include <unistd.h>
int main (void)
{
if (execlp("/bin/test_bin/getpid","getpid",NULL)==-1)
{
perror("execlp errpr");
return 1;
}
printf("execlp error!\n");
return 0;
}