当进程(父进程和子进程)在同一代码上工作时,使用fork()系统调用有什么意义?

时间:2015-07-04 16:28:12

标签: c fork

我读到父系和孩子将在fork()系统调用后处理相同的代码。我无法理解做fork()的意义,因为我无法理解在执行相同的代码两次会有什么好处。

2 个答案:

答案 0 :(得分:3)

fork()的返回值在子进程和父进程中是不同的,因此您通常会有类似

的内容。
pid_t child_pid = fork()
if (child_pid == 0) {
  // do stuff in child process
} else {
  // do stuff in parent process
}

答案 1 :(得分:0)

您可以使用if else条件为父级和子级执行不同的代码。 fork将0返回到子进程,并将子进程的pid返回给父进程。将其用作if条件中的差异器。