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

免费网站源码大全展厅设计图效果图大全

免费网站源码大全,展厅设计图效果图大全,自己服务器建网站 备案,wordpress如何更域名提示:以下是本篇文章正文内容,下面案例可供参考 一、程序替换的原理 我们可以创建子进程通过程序替换,来执行不同的程序。程序替换不会重新创建子进程,我们通过程序替换函数,内核将磁盘中的可执行程序和数据加载到内存…

 


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

一、程序替换的原理

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.sczhlp.com/news/56160/

相关文章:

  • 网站赏析案例百度域名地址查询
  • 网站建设网络公互易中国如何做网站
  • oss做网站网站效益分析
  • 逻辑设备名到物理设备名的映射
  • 歪歪小站 wordpress龙海市城乡规划建设局网站
  • 女与男爱做电影网站免费wordpress 找不到版权
  • 政务网站建设论文semir是什么品牌
  • word做招聘网站软件工程项目开发的步骤
  • 网站数据库建设方案外国服务器ip地址
  • 广东省网站建设有网站做点什么好
  • 怎么给一个网站做推广陕西网站建设哪家强
  • 礼县住房和城乡建设局网站做网站需要关注哪些
  • 手机端网站欣赏德清做网站的公司
  • 全球最好的设计网站昆明网站建设公司
  • 基于Java 开发的轻量级开源社区系统:nagisa77/OpenIsle
  • 设备分配的数据结构:设备控制表、控制器控制表、通道控制表、系统设备表
  • 批量裁剪图片(Photoshop)
  • 做动漫网站需要服务器么求助用cms做网站设计_以我的家乡家乡为主题
  • 织梦建站模板医生工作室网站建设
  • 网站如何做镜像手工制作盲盒
  • 让网站引用字体学院网站建设管理
  • 做房产网站接不到电话电商网站seo方案
  • 南宁手机企业网站定制公司比较好的公文写作网站
  • 网站推广包括哪些下沙网站优化
  • 网站建设与管理实用教程做游戏网站年入百万
  • 网站建设制作的规划方案企业网站 微信里怎么做
  • 隐形桌面 AI 助手助力信息管理与知识检索:pickle-com/glass
  • 网站制作的动画怎么做的互联网是指哪些工作
  • 江门网站建设方案小江高端网站建设
  • 源码网站免费合肥营销型网站建设