当前位置: 首页 > 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.sczhlp.com/news/91406/

相关文章:

  • 艾纳网站建设网站首页动画效果
  • 张量链式法则(上篇):任意维度反向传播公式推导与常见算子解析
  • GAS_Aura-Aura Input Component
  • CF739C Alyona and towers
  • 建设公司网站模版wordpress调用字段
  • 58同城 网站开发做小程序的流程
  • 常用网站推广方法推广app的妙招
  • 邢台网站推广公司深圳智慧建设控股有限公司网站
  • 小米企业网站的优化建议摄影师常用的网站
  • 淘宝客怎样做自己的网站推广lollipop Wordpress
  • bitset 相关记录
  • 大学生开始学习编程
  • 2025京东方全球创新伙伴大会隆重举行 AI焕新驱动产业质变跃迁
  • 淘宝客网站建设教程网片的重量计算公式
  • net网站开发net网站开发简洁中文网站模板
  • 做视频周边的网站wordpress动漫
  • 网站程序 seo哪有app制作公司
  • 目前做网站的好处企业信息管理
  • 中卫网站设计公司招聘东莞seo建站推广
  • 对比色网站设计设计师的个人网站
  • 廊坊门户网站广州网站制作
  • VMware Workstation 17.5.2 Build 23775571
  • 编程要求
  • 网站怎么做h5支付宝支付接口网站建设文献综述
  • html网站地图英语翻译网站开发
  • 网站需要怎么优化比较好建设银行手机网站变
  • 优秀设计方案网站台州网站建设方案托管
  • 制作网站一年多少钱自己怎么做响应式网站
  • 郑州市网站建设哪家公司好wordpress 主题 后门
  • 做代理稳妥的彩票网站有哪些网站图片的像素