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

网络托管公司有哪些东莞网络优化服务商

网络托管公司有哪些,东莞网络优化服务商,大连哪有做网站的,为什么菜市场不可以做网站提示:以下是本篇文章正文内容,下面案例可供参考 一、程序替换的原理 我们可以创建子进程通过程序替换,来执行不同的程序。程序替换不会重新创建子进程,我们通过程序替换函数,内核将磁盘中的可执行程序和数据加载到内存…

 


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

一、程序替换的原理

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.bjxfkj.com.cn/article/100459.html

相关文章:

  • 做家常菜网站seo技术培训广东
  • 邯郸做网站推广多少钱app推广引流方法
  • 陕西网站建设设计公司官网模板
  • 微网站和微信网站申请流程
  • 曲阜公司网站建设价格外贸推广公司
  • 辽宁省建设银行e护航网站怎样建网站平台
  • 国外酷网站seo实战技巧
  • 仿ecshop模板堂网站自己做的网址如何推广
  • 比较好的建站公司上海谷歌推广
  • 做淘宝客如何引出图片到网站制作公司官网多少钱
  • 做杂志模板下载网站品牌宣传方式
  • 网站优化具体是怎么做的爱站网长尾关键词挖掘工具下载
  • 什么摄像头做直播网站各行业关键词
  • 网站关键词长尾词平面设计正规培训机构
  • 新网站怎么做流畅百度数据研究中心官网
  • 现在疫情情况郴州seo网络优化
  • 网游网站开发百度网站流量统计
  • 东莞没有网站的公司看b站视频软件下载安装手机
  • 做网站开发要装什么软件seo怎么搞
  • 医院网站制作百度建站平台官网
  • 旅游便宜的网站建设怎么在百度上发布个人文章
  • 电信 网站备案百度站长工具验证
  • 废品网站怎么做中国推广网
  • 郑州商城网站制作青岛seo优化公司
  • web移动端网站开发案例seo关键词有话要多少钱
  • wordpress分类访问权限seo网站关键词优化软件
  • 网站的开发工具有哪些抖音广告推广怎么收费
  • 网站开发的分工杭州网络推广有限公司
  • 做图片素材的网站有哪些信息如何优化上百度首页
  • 商务网站建设管理思路学网络营销有用吗