Bonjour

Je suis actuellement un cours sur la programmation Système, plus particulièrement sur le chapitre des processus.
On a abordé le principe de la fonction fork() qui va créer un nouveau processus. Mais je ne comprends pas réellement ce qu'il se passe avec le code. Par exemple, dans ce genre de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
void main(int argc, char** argv ){
  pid_t pid_fils;
  pid_fils = fork();
  if(pid_fils == 0){
    execlp("/bin/sh","sh", "-c",argv[1],NULL);
  }else{
    wait(NULL);
  }
}
De ce que j'ai compris, le fils va donc uniquement lire la partie du code où le pid_fils == 0. Mais je ne comprends pas réellement comme ça fonctionne.
Pourriez vous me donner une explication plus précise ?
Merci d'avance,

Ben