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

有名的网站建设公司百度网盘怎么找资源

有名的网站建设公司,百度网盘怎么找资源,wordpress支付下载,2021十大网络舆情案例文章目录 进程程序替换程序替换函数execl()函数调用另外一个可执行程序 execlp()函数ecexv()函数execle()函数 替换函数总结 进程程序替换 什么是进程程序替换?为什么要有程序替换? 顾名思义,进程程序替换就是把该进程中的程序替换掉&#x…

文章目录

  • 进程程序替换
  • 程序替换函数
    • execl()函数
      • 调用另外一个可执行程序
    • execlp()函数
    • ecexv()函数
    • execle()函数
  • 替换函数总结

进程程序替换

什么是进程程序替换?为什么要有程序替换?
顾名思义,进程程序替换就是把该进程中的程序替换掉,那么为什么要把该进程中的程序替换掉呢?因为我们在创建子进程时,想让子进程去做其他的事情,如果直接把子进程要做的事情写在该程序中,会让程序变得很臃肿,而且我们希望子进程可以做很多的事情。

程序替换函数

子进程进行程序替换,一般要使用exec系列的函数。
接下来我们对这个系列的函数使用进行阐述并总结
在这里插入图片描述
通过下面代码我们来依次了解这些函数的使用:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

execl()函数

先看使用:
在这里插入图片描述
执行结果:
在这里插入图片描述
对各参数进行说明:
在这里插入图片描述
参数path:要我们说明要调用程序的路径
参数arg:可以看到这里是一个可变参数,第一个参数写命令,后面的写对应的选项,最后要以NULL结尾。通俗来讲就是我们在命令行中怎么写的这里的参数arg就要怎么写,最后再加上NULL即可。比如ls -a -l 这里就写 ls -a -l NULL.

调用另外一个可执行程序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在可执行程序mytest1中调用可执行程序mytest2

execlp()函数

使用:
在这里插入图片描述
结果
在这里插入图片描述
对参数进行说明:
在这里插入图片描述
参数file:函数execlp中含有p,说明继承的环境变量属性没有被替换,因此无需写路径,指明要执行的程序在哪个文件即可,会自动的在对应的路径下找到这个文件,例如ls在/usr/bin/下的ls文件中,因此当要执行程序ls时,这里的参数就是对应的文件ls
可变参数arg:因为函数名中含有l,意为参数格式为列表,也是按在bash命令下写的这就证明写,最后加上NULL即可。

ecexv()函数

使用1:
注意类型是char* const 而不是const char*
在这里插入图片描述

在这里插入图片描述
结果1:
在这里插入图片描述
使用2:

在这里插入图片描述
在这里插入图片描述

结果2:
在这里插入图片描述

参数:

参数path:因为函数名不带p,没有继承环境变量,因此要传确切的文件路径(相对路径或绝对路径总之能让当前文件找到即可)
参数argv:注意这里的参数类型是char* const而不是const char*,这是个指针指向不可变的指针数组,相比于可变参数列表传递,这个函数是直接将一个参数数组传了过去。也就是把可变参数列表放到了这个数组里。对于自己写的程序要传的path路径是生成的可执行程序的路径,而不是源文件的路径
在这里插入图片描述
在这里插入图片描述

execle()函数

putenv()函数用于添加一个环境变量给调用进程的上下文
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以看到当我们不传环境变量时,子进程也可以拿到我们在当前进程创建的环境变量。那么当前进程的父进程可以拿到我们在当前进程的环境变量吗?
在这里插入图片描述
可以看到在当前进程导入的变量与它的父进程无关,它只会传递给子进程

那么我要是就想自己传环境变量应该怎么传呢?
那就要使用exec系列中带e的函数了
使用:
在这里插入图片描述
在这里插入图片描述
结果
在这里插入图片描述
参数
在这里插入图片描述
参数path:表明子进程要替换成的可执行程序的路径
参数arg:可变参数列表,传递命令行参数
参数envp:传递环境变量表,可以用自己写的环境变量的指针数组传递,也可以用全局变量environ传递
传递全局变量environ
使用:
在这里插入图片描述
在这里插入图片描述
结果:
在这里插入图片描述
对这两种方式进行总结:传递environ会把在父进程中继承中的环境变量也都传过去,若传递的是在当前进程写的自定义环境变量指针数组,那么在替换函数中接收到的环境变量会把在父进程中继承中的环境变量覆盖掉

替换函数总结

1、函数名中带l,就是要我们以参数列表的形式传递命令行参数
2、函数名中带v,就是要我们以指针数组的形式把参数传过去
3、函数中带p,说明它会继承父进程的环境变量,因此可只需指明要去替换的可执行程序的文件名即可,函数会自己去找到该文件
4、函数名中带e的,需要我们自己自定义设置环境变量,可以自己添加环境变量指针数组传过去,但这会覆盖继承的环境变量,如果想保留继承的环境变量,那么在当前进程putenv()对应的环境变量添加到当前进程的上下文(不会添加到父进程),再用全局变量environ传递过去即可

对字母所指的单词进行解释:
l:list列表
v:vector数组
p:path路径
e:environment环境

http://www.rdtb.cn/news/22925.html

相关文章:

  • 贵阳做网站活动推广宣传方案
  • 河南优化网站百度网盘app下载安装 官方下载
  • 黑龙江网站备案免费企业网站模板源码
  • 本地高端网站建设信息大全精准引流推广
  • 企业微信网站建设搜索大全搜索引擎
  • 智能网站建设维护软件app推广项目
  • 怎么制作网站游戏宁波seo公司哪家好
  • 哪个网站做设计兼职不用压金网络服务主要包括什么
  • 毕设做系统与网站答辩nba最新赛程
  • 建立网站得多少钱浏览器网页版入口
  • 网站建设需要多少钱费用百度普通收录
  • 梅州做网站公司seo81
  • 网站建设行业北京网络推广优化公司
  • 10个神奇的.htaccess技巧(for wordpress)超级优化空间
  • 国外知名网站发外链平台
  • wordpress 界面设计河南seo外包
  • 帮助网站源码seo常用方法
  • 大团网站建设谷歌ads
  • 无极在线网站播放惠州网络推广平台
  • 莆田有建设网站的公司码张掖seo
  • 小程序开发费用明细怎么填seo优化易下拉排名
  • 全网黄页网站朋友圈营销
  • 网站建设门户网站推广seo教程
  • 常用的网站都有哪些西安seo主管
  • 315晚会 网站建设公司今日实时热点新闻事件
  • 临沂网站建设培训seo常用工具包括
  • wordpress游戏主题egamerseo关键词优化软件怎么样
  • 正规的招聘网站网站优化包括
  • 网站制作能赚多少钱营销活动方案模板
  • 江苏国龙翔建设网站.谷歌优化方法