fork函数作用:在内存中开辟一块新的空间创建子进程,
代码区:将fork()函数之后的代码全部复制;
数据:全部复制数据区的数据;
寄存器:保留寄存器的内容;
在父进程中,fork返回新创建的子进程的PID;
在子进程中,fork返回0;如果出现错误,fork返回一个负值;
进程之间是链表的存储方式,子进程是父进程的后继,创建完成后,系统会出现两个完全相同的进程,这两个进程没有固定的先后顺序(除非是用wait()),每个进程都有一个进程标识符(PID),通过getpid()获得,通过getppid()可以获得父进程的值;(这么看来子进程可以访问父进程,父进程可以了解子进程的信息,似乎是一种双向链表或者说有向图的形式;进程PID中一定有相应的元素成员),
子进程 将会复制 fork()函数以后的部分,而不会从#include处复制,因此子进程没有调用fork函数,