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

长安网站建设推广公司沧州seo包年优化软件排名

长安网站建设推广公司,沧州seo包年优化软件排名,中国做投资的网站,贵港网站建设个人主页:Lei宝啊 愿所有美好如期而遇 通过系统调用创建进程--fork函数 结果是什么呢? 为什么会出来三个打印呢? 就是因为父进程调用了fork函数创建出了子进程的task_struct,但是一个进程不止task_struct,还有代码和数据,他们…

 

个人主页:Lei宝啊 

愿所有美好如期而遇


通过系统调用创建进程--fork函数

结果是什么呢?

为什么会出来三个打印呢? 

就是因为父进程调用了fork函数创建出了子进程的task_struct,但是一个进程不止task_struct,还有代码和数据,他们从哪里来,于是,子进程就从fork函数之后共享父进程的代码和数据。

再来看一段代码

感兴趣的话,可以去试试通过fork返回的id值的不同去实现两个循环同时跑,一个父进程的,一个子进程的。

我们有三个问题:

  1. 为什么fork给父进程的id返回子进程的PID,给子进程的id返回0?
  2. fork为什么会返回两个值? 
  3. fork创建了子进程,下面的代码都是共享的,但是怎么一个id会有两个值呢?  

 1:一个父亲可以有多个儿子,但一个儿子是不是只有一个父亲?(只考虑亲生的),也就是说,当你走在外面碰见你父亲的朋友,他就知道你父亲是谁,但是你父亲和别人说我儿子是程序员,有人就会问是哪个儿子?所以给父进程的id返回子进程的PID,要我们知道是创建了哪个子进程,而给子进程返回0,表示创建成功,如果给父进程的id返回小于0的数,那就是创建失败。

2:在fork函数中,我们说父进程会创建子进程的task_struct,此时代码和数据也完成了共享,CPU也就将他们同时跑起来了,那么此时的fork函数的return也是代码吧,是不是也共享,那是不是父进程和子进程各自返回一次?

3:父进程和子进程的代码和数据在子进程创建好后就共享了,但是子进程对数据进行更改,是不是也会影响到父进程呢?

我们平时的经验告诉我们,多个进程同时跑,一个崩了,其他的不会被影响,就像我同时开着浏览器和QQ音乐,其中一个崩了,会不会影响另一个?不会,这是操作系统设计好的,进程之间是独立的,谁也不会影响到谁。

那么子进程对数据修改是不是也不应该影响到父进程啊,所以就有写时拷贝,当父进程或者子进程对数据进行修改时,会开辟一个临时变量拷贝原数据,你对这个临时变量做修改。

那么id值会不会有两个呢?我们想想C语言中,变量名在编译后还存在吗?

不存在了,变量名是给程序员看的,机器不需要,所以编译后变量名就变成了地址,我们的id也是如此,他是虚拟地址映射到物理空间上的,所以编译后,由于父子进程,其实不是一个地址,是两个,也就不存在一个id两个值的问题了。

在Linux中,可以用一个变量名表示不同的地址。

我们试着创建多个进程:

看右边,子进程不断被创建。

而后不断退出,从S+变成Z+,以及<defunct> 

http://www.15wanjia.com/news/56170.html

相关文章:

  • wordpress文字摘要搜索引擎优化的方法有哪些?
  • 公司网站实名认证电子商务营销模式有哪些
  • 冠县网站建设seo站长工具是什么
  • wordpress 果酱小程序win10优化大师免费版
  • 做网站要几天全网自媒体平台
  • 低价网站建设教程百度账号出售平台
  • 京东网站是哪个公司做的什么是搜索引擎营销?
  • wordpress for深圳网站seo优化公司
  • wordpress怎么做网站如何制作网站教程
  • 淘宝网站做超链接国内seo排名
  • 淘客采集网站怎么做的长沙企业网站建设报价
  • 做网站每个月可以赚多少百度竞价排名的使用方法
  • 800元做网站西地那非
  • 做交友网站赚钱吗百度推广优化怎么做的
  • 个人可以开通微商城吗seo研究中心qq群
  • 晨光文具网站建设策划书客户关系管理系统
  • 新手建站工具免费加客源软件
  • 怎么做可以直播的网站吗今天的最新消息新闻
  • 怎么制作网站链接转发视频网站推广应该怎么做?
  • php网站收录网站维护合同
  • 成都企业网站设计制作百度推广开户价格
  • 网站开发的工作经验要求最近一周国内热点新闻
  • 网站双链接怎么做怎么在网上推销产品
  • wordpress空页面模板成都有实力的seo团队
  • 医院网站详细设计奶茶推广软文200字
  • 我会编程怎么做网站竞价软件哪个好
  • 最新感染病毒网站seo推广计划
  • 大学生商品网站建设可以免费打广告的网站
  • 赣州网站建设精英学电商出来一般干什么工作
  • 网站开发用什么浏览器网络服务器多少钱一台