PDA

Visualizza la versione completa : Problema con SORT [UNIX]


wally93
10-07-2014, 17:36
Ciao, ho fatto un'esame di unix con programmazione in c dove dovevo ordinare un file tramite pipe in ordine numerico ed al contrario. Terminato l'esame mi è stato detto che la soluzione corretta sarebbe stata:

execlp("sort","sort","-n","-r",file,(char*)0);

Mentre io complicandomi la vita, ho creato un'altra pipe con un altro figlio che ordinasse in ordine numerico, mentre la seconda al contrario in questo modo:


if((pid2=fork())==0)
{

if((pid3=fork())==0)
{
//NIPOTE3


close(1);
dup(p3p2[1]); //the pipe connecting this nephew with his father
close(p3p2[1]);
execlp("sort","sort","-n",file,(char*)0);
}
}
else
{
//FIGLIO2
close(0);
dup(p3p2[0]);
close(p3p2[0]);
execlp("sort","sort","-r",file,(char*)0);
}

Volevo sapere se aveva in qualche modo senso fare così o ho proprio fatto un errore concettuale. Logicamente la soluzione così non è ottimizzata, ma volevo sapere se secondo voi ho qualche possibilità di averlo fatto giusto.
Grazie mille :)

Loading