EDA365电子论坛网

标题: 详解linux中的fork()函数 [打印本页]

作者: mytomorrow    时间: 2019-8-28 13:46
标题: 详解linux中的fork()函数
本帖最后由 mytomorrow 于 2019-8-28 13:49 编辑
2 U+ J. I' P) y8 V" H
2 Z, D& }" @( ~$ m一、fork入门知识, T7 V9 O4 R3 A- x- s1 G3 O8 x9 ]0 a: _+ z
7 F; [8 P8 s' ]  O4 ~
     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
* q+ \5 ]  a  |+ n* l9 @0 {+ ~+ e    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。6 {0 y& K# s) @: T
) X3 Z+ F& |# {
     我们来看一个例子:
$ Q% l8 ?: b& e- ?- ^3 R, e9 U) b
4 ?& D0 f. ]7 X3 T' N/ [
. }# y- {6 M3 J! @7 f$ [

/ \! n. t* p# A" x
作者: fanichicl    时间: 2019-8-28 18:08
学习一下,谢谢楼主分享。
作者: artic    时间: 2019-8-28 18:22
谢谢楼主分享。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2