一、fork
主要概念:
父进程与子进程
创建新进程的那个进程称为父进程
,新进程称为子进程
。使用 fork()
函数创建子进程。
fork()
函数能创建一个与调用进程几乎完全相同的子进程,包括代码、数据段、堆栈以及当前工作目录、用户ID和组ID等环境变量
相关函数:
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void) //创建进程
pid_t getpid(void) //获取进程ID
pid_t getppid(void) //获取父进程ID
返回值(返回两次)
- 在父进程中,
fork()
调用返回新创建的子进程的进程ID(一个正整数)。 - 在子进程中,
fork()
调用返回0。 - 如果
fork()
失败,例如由于系统资源不足,它将返回-1,并设置errno。