Сколько процессов здесь разветвляются

Я знаю, что это может быть глупым вопросом, но может ли кто-нибудь помочь мне понять поведение следующего фрагмента кода

//label 0
int main(){
  fork();//label 1
  fork();//label 2
  fork();//label 3
  return 0;
}

Насколько я понимаю, дерево процессов идет так

              [0]
          /    |    \
        [1]   [2]   [3]
       /  \    |
      [2] [3] [3]
       |
      [3]

Я прав? В таком случае, я не понимаю, почему вторая вилка неt порождает процесс, соответствующий разветвлению метки 1, а третий разветвление нене порождает процесс дальше. Я имею в виду, что дочерний процесс является точной копией родителя (по крайней мере, в коде), поэтому он должен полностью выполнить код своего родителя. Может кто-нибудь, пожалуйста, помогите мне с этим замешательством ...

Ответы на вопрос(4)

Ваш ответ на вопрос