中华康网首页
男性 健身 | 休闲 | 保健 | 疾病 | 爱好 | 品味
女性 美容 | 整形 | 减肥 | 职场 | 情感 | 育儿
健康 男科 | 妇科 | 疾病 | 外科 | 体检 | 食疗 | 心理
生活 家居 | 旅游 | 养生 | 急救 | 解梦 | 星座 | 美食
医学药学 | 健康资讯
中医中药 | 老人健康
生活健康 老年健康 生活家居 健康美食 心理健康 美体瘦身 整形美容 急救知识 运动健身
专题推荐: 老年疾病 生活技巧 家居用品 装修建材 家用电器 家庭药箱 外出旅游 局部减肥 心理疾病 眼眉整形 水果健康 美食做法 食材大全 小吃做法 食疗功效 饮食知识
您的位置: 中华康网 >> 网络常识 >> fork是什么意思

fork是什么意思


www.cnkang.com  2015-7-11  中华康网    

  你知道fork是什么意思吗?随着网络的快速发展,促使了许多新名词的出现,如果不了解岂不是太落伍了,下面我们一起来看看fork是什么意思吧。

  fork是什么意思

  叉子\分岔\岔口\复刻,西方人吃饭用的东西,经常用作刀和叉。

  计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记;否则,出错返回-1

  扩展阅读:为什么fork会返回两次?

  由于在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回。因此fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的。过程如下图。

  fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:

  在父进程中,fork返回新创建子进程的进程ID;

  在子进程中,fork返回0;

  如果出现错误,fork返回一个负值。

  在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。

  引用一位网友的话来解释fork函数返回的值为什么在父子进程中不同。“其实就相当于链表,进程形成了链表,父进程的fork函数返回的值指向子进程的进程id, 因为子进程没有子进程,所以其fork函数返回的值为0.

  调用fork之后,数据、堆栈有两份,代码仍然为一份但是这个代码段成为两个进程的共享代码段都从fork函数中返回,箭头表示各自的执行处。当父子进程有一个想要修改数据或者堆栈时,两个进程真正分裂。

  • 搞笑
  • 女性
  • 生活
  • 热点
  • 精彩推荐