Open In App

GATE | GATE CS 2012 | Question 8

A process executes the code

fork();
fork();
fork(); 

The total number of child processes created is
(A) 3
(B) 4
(C) 7
(D) 8

Answer: (C)
Explanation: Let us put some label names for the three lines

  fork ();    // Line 1
  fork ();   // Line 2
  fork ();   // Line 3

       L1       // There will be 1 child process created by line 1
    /     \
  L2      L2    // There will be 2 child processes created by line 2
 /  \    /  \
L3  L3  L3  L3  // There will be 4 child processes created by line 3

We can also use direct formula to get the number of child processes. With n fork statements, there are always 2^n – 1 child processes. Also see this post for more details.
Quiz of this Question

Article Tags :