• # Exo fork

    Posté par . En réponse au message Création d'un fork en C, howto. Évalué à 1.

    Ca c un exo de fork qu'on a fait en unix cette année.
    Je pense que c'est assez simple à comprendre.
    Note : Le pid de papa du _Pere_ , c'est le bash avec lequel t'as lancer l'exe.

    #include<stdio.h>
    #include<unistd.h>

    void affiche(int i)
    {
    int pid;
    int ppid;

    pid = getpid();
    ppid = getppid();

    printf("pid courant => %d\n", pid);
    printf("pid de papa (ppid) => %d\n", ppid);
    printf("i => %d\n\n", i);
    }

    int main()
    {
    int retour;
    int i=1;

    retour = fork();


    if(retour == -1)
    {
    printf("erreur au fork !\n");
    exit(0);
    }
    if(retour > 0)
    {
    i++;
    printf("_Pere_\n");
    affiche(i);
    }
    else
    {
    i--;
    printf("_Fils_\n");
    affiche(i);
    }
    }