Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
program starten

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SEllmi
Gast





BeitragVerfasst am: 13. Dez 2001 22:07   Titel: program starten

hi
kann mir jemand sagen wie ein programm aussehen muß das ein anderes program startet
und dann in die eingabe aufforderung einen text schreibt.
z.b.
programm a startet b mit
execl("/usr/bin/b","b",0);

b will nach dem start aber eine eingabe habe die man nicht von vornherein mit einem argument starten kann

z.b

./b
wie ist dein name?#

wie kann ich das in c umsetzen ?
 

Jochen
Gast





BeitragVerfasst am: 14. Dez 2001 8:42   Titel: Re: program starten

Da wäre einmal popen(3). Damit kannst Du einprogramm starten und erhältst gleichzeitig einen FILE *, der entweder mit stdin des gestarteten Kommandos verbunden ist (um Daten reinzufüttern, wie Du wolltest), oder der mit stdout verknüpft ist, um die Ausgabe des Kommandos zu erhalten.

Wenn Du eine bidirektionale Kommunikation brauchst, wird's haariger. Dann musst Du mittels pipe(2) ein Pipe-Deskriptor-Pärchen zum Lesen und eins zum Schreiben erstellen, dann mittels fork(2) einen Kindprozess erzeugen, der die Schreibe- und die Lese-Pipe mittels dup2(2) zu seinem stdin-/-out macht und dann mittels eines exec-Calls das eigentliche Programm aufruft...

Da würde ich aber vorher einen Blick in ein beliebiges Buch über UNIX-Systemprogrammierung empfehlen.

Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy