Combien de processus sont créés après quatre fork () sous Linux?

J’ai une question stupide voir sur le manuel du système d’exploitation. La question est ci-dessous:
Supposons que tous les appels système fork aboutissent.Après l’exécution du programme présenté ci-dessous. Combien de lignes sont sur l’écran?
Je suppose que chaque appel fork double les processus, donc le résultat devrait être que 16 processus soient créés. Mais lorsque je tape le même code dans le manuel, j’ai 30 lignes. Voici le résultat et le code:
http://imgur.com/zrdOP0X

#include  #include  #include  int main(){ fork(); printf("After fork1\n"); fork(); printf("After fork2\n"); fork(); printf("After fork3\n"); fork(); printf("After fork4\n"); } 

le résultat devrait être comme ceci:

fork1 fork2 fork3 fork4 fork4 fork3 fork4 fork4
fork2 fork3 fork4 fork4 fork3 fork4 fork4 fork1 fork2 fork3 fork4 fork4 fork3 fork4 fork4
fork2 fork3 fork4 fork4 fork3 fork4 fork4

(les espaces ne sont que pour une meilleure lecture)

Mais quand je tape le même code du manuel, j’ai 30 lignes

C’est normal:

  • Après le fork 1, vous avez 2 processus, donc 2 lignes sont écrites,
  • Après fork 2, vous avez 4 processus, donc 4 lignes sont écrites,
  • Après la fourche 3, vous avez 8 processus, donc 8 lignes sont écrites,
  • Après la fourche 4, vous avez 16 processus, donc 16 lignes sont écrites,

2 + 4 + 8 + 16 est égal à 30: vous avez 30 lignes.