函数族:一系列功能相同或相似的函数
p是代表到环境变量中找,e表示给程序新的环境变量。
前六个是标准c库函数,最后一个是linux库函数
常用execl和execlp
1.execl函数
子进程的代码被替换掉
#include#include int main(){ //创建一个子进程,在子进程中执行exec函数族中的函数 pid_t pid = fork(); if(pid>0){ //父进程 printf("i am parent process, pid : %dn",getpid()); sleep(1); } else if(pid==0){ //子进程 //execl("/home/ethan/Linux/lesson19/hello","hello",NULL); //shell命令执行 execl("/bin/ps","ps","aux",NULL); printf("i am child process pid = %dn",getpid()); } for(int i=0;i<3;i++) { printf("i = %d, pid = %dn",i,getpid()); } return 0; }
2.execlp函数:
#include#include int main(){ //创建一个子进程,在子进程中执行exec函数族中的函数 pid_t pid = fork(); if(pid>0){ //父进程 printf("i am parent process, pid : %dn",getpid()); sleep(1); } else if(pid==0){ //shell命令执行 execlp("ps","ps","aux",NULL); //如果是hello自己写的代码由于环境变量中没有会出错 printf("i am child process pid = %dn",getpid()); } for(int i=0;i<3;i++) { printf("i = %d, pid = %dn",i,getpid()); } return 0; }



