tp2_dup_pipe.c 739 Bytes
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>

/*int main(){
    printf("lancement de la commande ls\n");
    if(execlp("ls","ls","-l",NULL)==-1){
     perror("echec execlp");
     exit(1);
    }
    return 0;
}*/

int main(){
    int fils;
    char fich[256];
    printf("nom  du fichier ?\n");
    scanf("%s",fich);
    if((fils=fork())<0){
        perror("erreur exec du fork");
        exit(1);
    }
    if(fils == 0){
        if(execlp("wc","ws","-l",fich,NULL)==-1){
            perror("echec execlp");
            exit(1);
        }  
    } else {
        int r, pid;
        if((pid= wait(&r)) <0){
            perror("erreur exec du wait");
            exit(1);
        }
    }
    return 0;
}