Systemprogrammierung: im Kind ein Programm aufrufen
-
hallo!
ich wollte mal fragen wie ich unter linux in einem kindprozess (was dann eine neue konsole ist) ein neues programm aufrufen kann?!
bisher rufen ich per popen:
FILE *pfile; pfile = popen( "konsole", "w" );
die konsole auf. nun wollte ich in der konsole die erscheint automatisch ein programm ablaufen lassen - z.b. "ls -l" (so als test). wie kann ich das anstellen? muss ich dann noch mal popen verwenden oder geht es irgendwie eleganter/anders ?
thx im voraus für jede hilfe
mit freundlichen gruessen
-
Warum rufst du die Konsole überhaupt mit popen auf? Hat die denn überhaupt eine Standardeingabe? Willst du die Konsole fernsteuern oder nur einen Befehl ausführen?
-
hallo bashar erst mal thx für die schnelle antwort.
ich wollte konsole (oder xterm, eterm ...) aufrufen, weil ich die ausgabe des programmes dem benutzer sehen lassen wollte, und davon ausgehe, dass er das programm (um beim bsp. zu bleiben "ls") nicht direkt selbst aus einer konsole startet.Willst du die Konsole fernsteuern oder nur einen Befehl ausführen?
ich wille eigenltich nur den befehl aufrufen.
-
"konsole -e ls -l"
popen ist zwar nicht sehr elegant, aber scheint ja zu funktionieren. Normalerweise würde man das mit fork/exec machen.
-
popen nimmt einem doch die abeit von exec, fork und das schliessen der seite die man nicht verwendet im eltern- und kindprozess ab
-
prosatanos schrieb:
das schliessen der seite die man nicht verwendet
Du verwendest ja überhaupt keine Seite.
-
ich meinte das jetzt allgemein auf popen bezogen.
btw: funktioniert dein vorschlag einwandfrei thx
-
prosatanos schrieb:
Willst du die Konsole fernsteuern oder nur einen Befehl ausführen?
ich wille eigenltich nur den befehl aufrufen.
Warum rufst du dann nicht gleich ls auf anstatt den umweg über ne konsole?
-
das soll einfach nur mal ne kleine übung sein