建议先看看页表是什么 (页表介绍链接)
fork()
在Linux中,创建进程可以使用fork()
系统调用。fork()
系统调用的作用是在当前进程中创建一个新进程,新进程与当前进程具有相同的内存空间和文件描述符,但拥有独立的进程ID和资源。它是实现多进程并发执行的基础。
fork()
系统调用语法如下:
#include <unistd.h> int fork();
fork()
系统调用返回值如下:
-
如果返回值是0,表示新创建的子进程调用
fork()
系统调用成功,并返回0。 -
如果返回值是子进程的进程ID,表示父进程(一般是所在程序的进程)调用
fork()
系统调用成功,并返回子进程的进程ID。 -
如果返回值是-1,表示调用`fork()系统调用失败。
-
fork()
函数在调用时会返回两次,一次在父进程中返回子进程的PID,一次在子进程中返回0。根据这两个返回值可以区分父进程和子进程,并在不同的进程中执行不同的逻辑。
getpid() getppid()