进程替换函数与shenll命令行解释器

execlp(const char *file,...)

file只需要提供函数名字,系统会在环境变量自动找到合适的

execv(const char *path,char * const argv\[\])

这里得第二个参数是指针数组,也就是说,我们之前不是要手动输入吗,这里不需要,我们提前把要执行的写到表格中,这里直接传一整个表格就可以了

execvp(const char* file,char *const argv\[\])

这里是上面两个的结合

总结:

p=PATH在环境变量里面找

v:传入参数表,不需要一个个写

e:传入你自己构造的环境变量

execvpe(const char* file,char *const argv\[\],char*const envp\[\])

我我们写file是要去环境变量里面寻找,但是有些时候,环境变量是找不到的,所以这里第三个参数就表示,在我们自己设立的环境变量里面去寻找

补充:我们的替换是存在进程层面的,也就是说,只要一个程序开启运行变成了一个进程,此时就可以被替换,不在乎它是什么语言

我们第三个参数除了写我们自己的,如果不想写可以用

environ来占位,表示使用老的环境变量

我们上讲的其实都是库函数

他们都来自于我们的系统调用

execvel(const char *filename,char * const argv\[\],char *const envp\[\])

本质库函数都是在调用系统调用

自主shell命令行解释器

相关推荐
用户721880438357 小时前
密码骰子:结合AIUI在眼镜上生成一串16位密码
前端
江华森7 小时前
全链路可观测落地记:kube-prometheus-stack 在 K3s 上的 8 个坑与一整套修复脚本
前端
用户84298142418107 小时前
从 JavaScript 到可运行的字节码 - ByteJS 使用指南
javascript
deli0077 小时前
27 寸 4K 开 125% 为什么发虚?PPI 和缩放一次算清
前端
广州华水科技8 小时前
当大坝面临风险时,如何有效实施单北斗GNSS变形监测?
前端
学以智用8 小时前
wangEditor V5 精简完整参考手册
javascript
2601_967979128 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
程序猿打工仔8 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
AiMan9 小时前
Poe还是不可以导出左侧所有对话,只能单条内容导出,方法不对吗
前端
通信小呆呆9 小时前
电子战干扰技术:从“蛮力压制”到“精准欺骗”,再到“认知博弈”
算法·通信·isac