Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    107

    [C] il programma non termina...

    ho scritto questo semplice programma per impratichirmi sull'uso delle pipe, ma per un motivo che non riesco a comprendere il programma esegue le exec ma non termina... ho provato a mettere delle wait nel processo padre e non mi stampa nemmeno a video il risultato... non so davvero che pesci prendere, sono convinto di essermi perso in un bicchiere d'acqua ...

    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<unistd.h>
    
    int main (int argc, char **argv)
    {
     int pid1,pid2;
     int fd[2];
    
     if((pipe(fd))!=0)
      {printf("error!");exit(1);}
     
    if (( pid1= fork()) == 0 )
    {
     close(fd[0]);
     dup2(fd[1],1);
     execlp("ls","ls",NULL);
     printf("error");
    }
    
    if(( pid2= fork()) == 0 )
    {
     close(fd[1]);
     dup2(fd[0],0);
     execlp("sort","sort",NULL);
     printf("error");
    }
    
    if( pid2 > 0)
    {
     exit(0);
    }
    }
    perché secondo voi non termina??

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    107
    c'è qualche errore nelle modalità di richiesta?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.