当执行 pid_t pid = fork();
时,操作系统会创建一个新的进程。在这个过程中,fork()
函数会返回两次:
- 在父进程中,
fork()
返回新创建的子进程的PID(进程ID),也就是一个正整数值。 - 在子进程中,
fork()
返回0。
因此,通过检查 pid
的取值,可以确定当前的代码是在父进程还是子进程中执行。
- 如果
pid > 0
,则表示当前代码在父进程中执行。 - 如果
pid == 0
,则表示当前代码在子进程中执行。 - 如果
pid < 0
,则表示创建子进程失败。