tp1_fork.c 610 Bytes
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>

int main(){
    int cr, cpt=0;
    if((cr=fork())<0){
        perror("erreur exec du fork");
        exit(1);
    }
    for(;;){
        if(cr ==0){
            printf("fils");
            sleep(1);
        } else {
            int r, pid;
            printf("pere");
            sleep(2);
            cpt++;
            if (cpt==5) {
                exit(0);
            }
            if((pid= wait(&r)) <0){
                perror("erreur exec du wait");
                exit(1);
            }
        }
    }
    return 0;
}