《Linux系统调用: fork》

一、接口介绍

fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。
这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。

fork系统调用用于创建一个新进程,称为子进程,它与进程(称为系统调用fork的进程)同时运行,此进程称为父进程。
创建新的子进程后,两个进程将执行fork()系统调用之后的下一条指令。子进程使用相同的pc(程序计数器),
相同的CPU寄存器,在父进程中使用的相同打开文件。

#include 

pid_t fork(void);

返回值:
	On success, the PID of the child process is returned in the parent, and 0 is returned in the child.  
	On failure, -1 is returned in the parent, no child process is created, and errno is set appropriately.
	返回值为0代表的是子进程,-1 失败,否则就是当前进程

fork出错可能有两种原因:
    1)当前的进程数已经达到了系统规定的上限,这时errno的值被设置为EAGAIN。
    2)系

你可能感兴趣的:(Linux/Unix,系统调用)