Hallo zusammen,
lerne gerade auf eine C / Unix Prüfung und bin auf eine Frage gestossen, die ich nicht ganz verstehe wie ich da vorgehen soll:
Die Frage lautet: Manuelles Nachbauen von int pfd=popen("sort xy","r");
Also popen erzeigt einen Prozess, schließt automatisch nicht benutzte Enden der Pipe. Zudem will hier gelesen werden (Parameter r) Soweit ok.
Meine Idee:
int main(){
int pid, n, fd;
int pfd[2]; /* Die Pipe */
pid=fork(); /* Neuen Prozess erzeigen */
if(pid<0){
perror("fork");
exit(2);
}
if( pid==0){
close(0);
dup(pdf[0]);
close(pfd[1]);
execelp("sort", "sort", "xy", NULL);
exit(0);
}
else{
wait();
return 0;
}
}
Ich versteh nicht ob ich eine Dateiverbindung via open machen muss und laut popen ließt der neue Kindprozess, aber was genau? Soll er nicht die Daten an den Vater schreiben?