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

网站建设自学顺德营销型网站一站式服务哪家好

网站建设自学,顺德营销型网站一站式服务哪家好,网站只收录无权重,专业做网站公司 前景目录一、对输出参数status的理解二、获取进程退出返回值1.位运算(1)异常退出码(2)进程返回值2.宏函数我们常使用函数 wait 和 waitpid 来执行进程等待的功能:处理退出的子进程并释放资源,防止子进程变成僵尸进程。而这两个函数都有一个输出参数status&am…

目录

  • 一、对输出参数status的理解
  • 二、获取进程退出返回值
    • 1.位运算
      • (1)异常退出码
      • (2)进程返回值
    • 2.宏函数

  我们常使用函数 waitwaitpid 来执行进程等待的功能:处理退出的子进程并释放资源,防止子进程变成僵尸进程。而这两个函数都有一个输出参数status,我们可以通过这个输出参数来获取进程的退出返回值。但是进程的退出返回值并不是直接将status解引用就可以得到的,详细原因且看下文。

  • pid_t wait(int *status);
  • pid_t waitpid(pid_t pid, int *status, int options);

一、对输出参数status的理解

  在wait和waitpid中,输出参数status存储了子进程的退出返回值,但是并不是直接解引用就可以得到子进程的退出返回值。

  status解引用后是int型变量,占据四个字节的内存空间。但它的四个字节并不是都存储着进程的退出返回值。如图所示:我们给每个字节从高地址到低地址依次编号:1、2、3、4字节。

4字节

  1、2字节在这里我们用不上,因此不做讨论。

  3号字节存储的是子进程的退出返回值,也就是说,只有8个比特位才是用来存储进程退出返回值的。

  4号字节的低7位存储异常退出码(当程序异常退出时,异常退出码就可以表示程序是因为什么异常而退出的),如果异常退出码不是0说明进程是异常退出。4字节的最高1位是coredump标志,这里不作讨论。

  在获取子进程的退出返回值之前,首先需要获取异常退出码,判断异常退出码是不是0。如果是0,说明是正常退出,可以去获取进程的退出返回值了;如果异常退出码不是0,说明是异常退出,那么就没有必要获取进程的退出返回值了。

二、获取进程退出返回值

 我们有两种方式可以获取status中的退出返回值和异常退出码:

  • 位运算
  • 宏函数

1.位运算

(1)异常退出码

  因为异常退出码占用的是4号字节中的低7位,因此我们可以通过(*status)和16进制数(0x7f)进行与运算得到异常退出码。

  如图:第一行是status解引用后的数,第二行是0x7f的二进制表示,不管高25位是什么数字,只要和0相与都变成0,而低7位依然保持原样,因此可以得到异常退出码。

异常退出码

(2)进程返回值

  进程返回值占用的是3号字节中的8个bit,因此需要把(*status)进行右移8位,如图所示。

  这样进程返回值就变成了低8位,然后使用上面的方法,把右移后的数据和16进制数(0xff)相与得到进程返回值。

右移8位

2.宏函数

   WIFEXITED(status) 等价于 ( (*status)&(0x7f) )==0 ,当异常退出码是0,宏函数返回true,表示进程的退出返回值有意义,可以去获取。

  WEXITSTATUS(status) 等价于 ( (*status >> 8)&(0xff) ),这样直接就可以得到进程的退出返回值。

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

相关文章:

  • 昆山高端网站建设机构个人简介免费模板下载
  • 寻找赣州网站建设做五金的外贸网站有哪些
  • 网站服务理念网站的风格设计有哪些
  • wordpress是全开源吗上海专业排名优化公司
  • 建设标准下载网站公司的网站可以用个人备案吗
  • 免费网页上传网站北京网站建设问问q778925409霸屏
  • 西安网站设计公司上海企业地址大全
  • 彩票的网站怎么做宽带维修
  • 网站开发实训指导书太原seo代理计费
  • 手机模板网站模板下载网站有哪些wordpress 图片主题
  • 网站系统维护一个月正常吗什么是网站模板设计
  • 手机表白网站在线制作成crm网
  • 宝山网站建设宝山wordpress给图片加特效
  • 拿word如何做网站企业展厅设计公司收费情况
  • 淮安专业做网站的公司网页制做
  • 手机网站搭建网站建设公司的网销好做吗
  • 建设网站要求有哪些广州做网站哪家好公司
  • 秦皇岛网站制作价格wordpress怎么用ip访问
  • 网站建设时间计划图wordpress 钩子的好处
  • iis网站子目录设置二级域名网站主机价格
  • 深圳市做网站知名公司游戏app软件定制开发
  • 南京网站开发南京乐识优网站自适应宽度
  • 医院网站建设方案计划html在线编辑网站
  • 太原建站公司有哪些第一成品网站超市
  • 网站管理文档怎么写广州最新消息今天
  • 广东工程建设咨询有限公司网站wordpress 附件地址
  • 广州网站开发招聘信息网站怎样做关键词优化
  • 从什么网站可以做兼职最专业企业营销型网站建设
  • wordpress网站500错误烟台专业的做网站公司
  • 免费建网站推广网站底部加编码