当前位置: 首页 > news >正文

南昌定制网站开发多少钱品牌建设途径

南昌定制网站开发多少钱,品牌建设途径,seo专业技术培训,如何做外贸品牌网站建设提示:以下是本篇文章正文内容,下面案例可供参考 一、程序替换的原理 我们可以创建子进程通过程序替换,来执行不同的程序。程序替换不会重新创建子进程,我们通过程序替换函数,内核将磁盘中的可执行程序和数据加载到内存…

 


提示:以下是本篇文章正文内容,下面案例可供参考

一、程序替换的原理

4420d37a84ed427e82c795e156341a8d.png

我们可以创建子进程通过程序替换,来执行不同的程序。程序替换不会重新创建子进程,我们通过程序替换函数,内核将磁盘中的可执行程序和数据加载到内存,这个加载的过程将该进程的代码和数据替换掉。那内核怎么知道替换的程序位置,因为有程序计数器。那怎么知道要执行程序的开始位置呢,其实可执行程序也是有格式的(ELF),可以找到可执行程序的入口地址。

be36a0bcaa94474f81ab117cdc6b1227.png

(子进程)程序替换后,就不会执行后面的代码了.比如exit(0).

bc83c5854a0142fdb17f89759cb753c9.png

二、程序替换函数

6e042b7ad6644c62b4e313c61510f6a8.png

(1)execl

82682d428c794fe1aa7515c205a9d1b5.png

这个函数参数是个可变参数,可以接收多个参数,最后要以NULL结尾(可以简单理解为压栈结束,其中涉及到函数栈帧的问题)。

第一个参数是程序文件的路径,程序也是个文件,它存储在磁盘中,后面的参数就是执行这个程序需要的参数。

67bf95faec064ea29dc74be717144a2a.png

小技巧:后面的参数,之前怎么在命令行怎么执行命令,就怎么传参。 

(2)execlp05100e8904f0482ab28d8290c752893a.png

p代表path,它会到环境变量中查找程序,l是代表list就是列表。 

b556a4eaa2af4eaea9cd9c8569da130a.png

faf88e83736c4ff1a462fecbb52d8c9b.png

这里我们可能有个疑问,两个ls.其实它们的作用不同的,第一个查找的程序文件是哪个,第二个是作为参数使用。

(3)execvp

d37a14565814423c818d2f3d63e8eabe.png

这个函数就没有可变参数了,p表示它会根据你的文件名,去环境变量path中查找,v就是数组的意思。

第一个参数是可执行程序的文件名,第二个是字符串数组(存储执行程序需要的参数),最后一个元素必须为NULL。

b16d0cf1769845c2a73e1b4dbfe240d2.png c990129cd8d849a0a0ffe233f07fbcb8.png

 (4) execv

d83af3889f144cf68bbbebad98485113.png

这个和 execvp不同的是,这个要我们自己写路径,(它没有p不会到环境变量下找)。

00d9fbbb0aba4f0cbdc0251cf25764a2.png


(5) execle与execvpe

 41dc9483572241a1916f6076c6c72a66.png8dc8b629ec68416b8725147df66857d2.png

 这里的e表示环境变量的意思,可以选择要哪个环境变量表,如果我们不用系统的环境变量,那我们就可以使用这个函数直接覆盖掉原来的环境变量。

验证:先自己建一个环境变量的表argv2,然后程序替换后打印所有的环境变量,我们可以看到环境变量已经被覆盖了,新程序的environ指针也指向了这个新的环境变量表。

655757798e4b4a768ae853cbe5349b1c.png

227de4acc586410ea1952e23a455d827.png

034ac1d988204dc5b8b0b75f731edf87.png

三.系统调用接口---execve

4ff2bf5e93c8490bbec454be86141dbf.png

这个是系统调用接口,以上的都是函数都是对这个系统调用的封装,就是说不管你选择哪种以上的程序替换,最终都会转化为这个系统调用。其实也挺容易理解的,程序替换是涉及到内核的,为了保证安全性,操作系统提供了系统调用,一旦涉及了系统调用,用户态立刻变为了内核态,控制权就交给了操作系统。

总结:

这个替换过程可以是同语言内的替换,也可以是跨语言的替换,比如下面脚本语言

脚本文件

c815066a7e8b498bba08dcf4c8e9e696.png

a1c474d40ba14017af88ec0f8967e887.png

be19760e17a54bd0822a6e892ca3aa44.png

 

 

http://www.yayakq.cn/news/557344/

相关文章:

  • 网站实名制 怎么做徐州建设局规划网站
  • 邢台市住房和城乡建设局网站合肥网站运营管理公司
  • 北京工程建设协会网站稻壳儿免费ppt模板
  • 手机网站有什么要求房地产网站策划
  • 网站建设经验下载百度网盘app最新版
  • 杭州网站制jquery网站发展历史时间轴
  • 在百度云上做网站网站建设二次开发怎么样
  • 做企业网站 asp的cms系统哪个好wordpress模板上传图片
  • 360网站卖东西怎么做招标网与采购网官网
  • 网站301在哪里做素材模板大全
  • 电商网站 设计方案app推广团队
  • vs做的网站源代码学科基地网站建设
  • 网站建设外贸wordpress gpl协议
  • 站长统计幸福宝2022年排行榜新开的公司怎么做网站
  • 网站域名注册后怎么打开网站手机网页视频下载神器
  • 展示型的网站用wordpress文章美化
  • 夏天做那些网站能致富如何进行搜索引擎优化
  • 泰州市网站建设wordpress添加二维码弹窗
  • 电子商务网站建设与课程设计门户网站开发建设成本明细
  • 怎么利用云盘建设网站如何压缩网站
  • p2p网贷网站建设哪家好怎么做国际网站
  • 石家庄网站推广优化正能量不良网站进入窗口免费阅读
  • 个人网站可以做自媒体吗网站建设公司怎么样
  • 广东省企网站建设wordpress文章不发在首页
  • 有关网站建设的公众号crm系统是什么意思
  • 从用户旅程角度做网站分析wordpress博客内使用二级目录安装discuz后的静态化
  • 做网站法律条文网站建设代码模板
  • 昆山科技网站建设如何给网站弄ftp
  • 彩票黑网站是怎么做的软文投放平台有哪些
  • 网站建设对标行业分析中国纪检监察报投稿须知