南山做网站价格,用户网站建设,营销型网站案例分析,.网站开发工具dw当我们想在进程中执行另外一个函数或程序时#xff0c;可以使用exec函数。进程调用exec函数#xff0c;则该进程中用户空间所有代码和数据会完全被新程序替换#xff0c;但是不会创建新进程#xff0c;因此进程id不会发生改变。
函数族的头文件#xff1a;unistd.h
l:li…当我们想在进程中执行另外一个函数或程序时可以使用exec函数。进程调用exec函数则该进程中用户空间所有代码和数据会完全被新程序替换但是不会创建新进程因此进程id不会发生改变。
函数族的头文件unistd.h
l:list(命令行参数 p:path(环境变量 v:vector命令行参数数组 e:environment(环境变量
1execlp函数
函数原型int execlp(const char*file,const char*arg,...) ;成功无返回失败返回-1
函数功能借助PATH变量加载一个进程常用于调用系统程序
函数参数参数1是要加载的可执行程序的名字配合环境变量使用如果在环境变量中没有找到返回-1参数2表示命令行参数命令参数列表在这个调用中由于系统程序的源文件未知因此对参数2 的命令要求可以随意即第二个参数可以随意写。系统不会报错
如 execlp(ls,ls,-a,-l,NULL); execlp(ls,sdsffdfd,-a,-l,NULL);
2execl函数
函数原型int execl(const char*file,const char*arg,...);成功无返回失败返回-1
函数功能通过可执行文件程序名命令参数来执行
函数参数参数1是可执行文件的路径参数2是文件程序名命令参数。
如add是add.c编译之后的可执行文件
execl(./add,add/c,NULL);
(3) execvp函数
函数原型int execvp(cosnt char *file,const char*argv[ ]);
函数功能加载一个程序自定义环境变量env
函数参数参数1是命令的路径参数2是变参函数表示命令行参数以NULL结尾
如 char *argv[]{ls,-l,-a,NULL);
execvp(/bin/ls,argv);
4exec函数族的其他函数之间联系