Bonjour à tous,
J'ai un problème avec la commande fork(), j'espère que je post sur le bon forum parce que je voyais pas trop ou le mettre...
Après avoir regardé plusieurs cours sur internet au sujet de la commande fork, j'ai cru comprendre que lorsqu'on appel cette commande, l'intégralité du code source est recopié dans le processus fils
Au niveau du code ca donne ca:
Mais je n'arrive pas bien à comprendre comment ca se passe, est ce que le processus fils est exécuté en premier puis le processus père ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 pid = fork(); if (pid < 0) { /* error occurred */ ... exit(-1); } else if (pid == 0) { /* child process */ ... } else { /* parent process */ /* parent will wait for the child to complete */ wait(NULL); printf("Child Complete"); exit(0); }
est ce que les 2 sont exécutés en alternance ?
Et ce que je n'arrive pas à comprendre aussi, c'est la chose suivante :
si le code est recopié en intégralité, si je fait un banal printf("Bonjour"); avant le fork, sera-t-il exécuté dans le processus fils ?
Merci
Partager