C: ausgabeumleitung bei exec

N

Nano

Foren As
Hallo zusammen ich hab in einem Vatereine beliebiges programm z.b eine shell laufen und möchte die ausgabe der shell umleiten hier mein versuch

Befehl kommt vom Kind und soll im Vater verarbeitet und zurückgeschickt werden

Code:
		// schreibe nicht auf lesekanal
		close(KtoV[1]); 
		// Vater Stdin = Kind stdout
		dup2 (KtoV[0], 0);

		// und wieder zurück mit dem zeug
	//	close(VtoK[0]);
	//	dup2 (VtoK[1],1);

		if(execl("/bin/sh","sh",NULL) == -1){
			fprintf(stderr,"execl Error!");
			exit(1);
		}
		// und wieder zurück mit dem zeug
		//close(VtoK[0]);
		//dup2 (VtoK[1],1);

Die pipes funktionieren soweit nur wenn ich sie setze werden die Daten direkt zurückgeleitet und nicht verarbeitet so bleibt ein "echo bla" echo bla
ohne die pipe zurück nur ein "bla". Gibt es eine andere möglichkeit dies umzuleiten ?
 
geht doch der fehler lag wo anders
 

Ähnliche Themen

Unix Webserver mit HTML Seite erstellen

Cat gibt nicht alles aus einer FIFO Pipe aus

Auf Child warten das nicht beendet wird ?

C: Umschalten bei ständig laufendem Cildprocess

C : Prozesskommunikation

Zurück
Oben