是 Unix/Linux 操作系统中非常核心的一个系统调用(System Call)。 简单来说,它的主要作用是:创建一个与当前进程(父进程)几乎完全相同的副本进程(子进程)。 以下是关于 的详细解释,包括它的工作原理、返回值特点以及底层机制。 1. 核心功能 当你调用 时,操作系统会新建一个进程。 父进程 (Parent Process):调用 的那个进程。 子进程 (Child Process):新产生的进程。 子进程会获得父进程数据段、堆和栈的副本。这意味着子进程拥有与父进程相同的变量值、代码和程序计数器(PC)。 2. “调用一次,返回两次” 这是 最著名的特点。虽然你在代码中只调用了一次 ,但它会返回两次: 1. 在父进程中返回:返回新创建的子进程的 PID(进程 ID,一个大于 0 的整数)。 2. 在子进程中返回:返回 0。 如果 失败(例如系统资源不足),则返回 -1。 为什么要这样设计? 通过判断返回值的不同,程序员可以让父进程和子进程执行不同的代码逻辑。 3. 代码示例 这是理解 最直观的方式: 4. 关键特性:内存独立性 虽然子进程刚创建时是父进程的副本,但...