exec函数族
程序员文章站
2022-07-15 09:26:20
...
一、exec函数
一般在通过fork()系统调用创建的子进程中调用,这样只是替换了子进程而父进程并不受到影响。可以装入和运行其他程序
注意:exec函数只改变程序而不改变进程本身
二、exec函数族
exec只是一个函数族,Linux中并没有以exec为函数名的函数,它有6个以exec开头的函数,由下面列举出:
头文件:#include”unistd.h”
int execl(char *pathname, char *argv1, char *argv2, ... ,char *argvn,(char *)0);
/*
execl("./main","./main",(char *)0);//第二 个./main是传入给main函数的参数(如下)
int main(int argc, char *argv[]); argc >= 1, argv[0] = "./main"
*/
/*
int res = func();//调用func函数并且接受func的返回值
int res = execl();//调用成功则不返回(因为成功后源程序已经被覆盖,源程序不存在所以不能接受)若exec调用失败则返回-1给res
*/
-int execv();// execv(char *pathname,const char *argv[]);
-int execleconst(); // execle(char *pathname,char *argv[],(char *)0,char *envp[]);
-int execve();// PATH
-int execlp(); //execlp(const char *file,const char *arg...)
-int execvp(); //execvp(const char *file,char *cosnt argv[])