进程创建的流程
1.先是在进程表中为进程建立一个进程控制块PCB
2.采用fork()系统调用将复制执行进程的PCB块,U区和内存图像到新的进程
fork()系统调用的“一次调用和两次返回”特点
fork函数用于创建一个新进程,称为子进程,它与调用fork函数的进程同时运行,此进程称为父进程。在调用fork函数时,子进程复制了父进程的堆栈段,所以两个进程都停留在了fork函数中等待返回,所以会返回两次,一次在父进程中返回,一次在子进程中返回。
如果子进程创建成功,父进程的fork()函数返回子进程的pid号码(大于0),这时,子进程的fork()函数返回0;
如果子进程创建失败,父进程的fork()函数返回-1,子进程没有返回。