Archiv verlassen und diese Seite im Standarddesign anzeigen : linux Befehle von cpp aus ausführen?
Hi,
mit welchem Befehl kann ich aus einem c++ Programm heraus einen Linux Befehl ausführen?
(Ich bin ziemlicher C Anfänger, aber das wäre echt ganz nützlich. In meinen C Büchern steht über sowas nämlich nichts drin.) http://www.linuxforen.de/ubb/smile.gif
Gruß Jan
Mit
man system
kommst du erstmal weiter.
mit
exec?? und fork
hast du zwar mehr Kontrolle,
dafuer wird es auch kompilizierter. Nicht gerade Anfaengertauglich.
Danke!
Ich werd das testen!
Gruß Jan
Hallo!
Es stimmt - mit system() ist es moeglich ein Programm ausfuehren zu lassen. Allerdings laeuft das im gleichen Kontext, wie das aufrufende Programm - was einige Nachteile haben kann.
Besser ist es u.U. mit fork() einen Kindprozess zu starten, der mit exec() das entsprechende Programm ausfuehrt. Das fuehrt dann u.a. dazu, dass das aufrufende Programm nicht (unbedingt) auf die Ausfuehrung des aufgerufenen warten muss und zum anderen, das die Programme jeweils in einem eigenen Kontext laufen.
MfG.
Oliver Bildesheim
Christoph
16-03-2001, 16:14
Sehr schön ist übrigens popen().
Damit kann man die Ausgabe des Kommandos auslesen oder in die Standardeingabe des Kommandos schreiben.
Übrigens empfiehlt sich das Zulegen eines Buchs zur Unix-Systemprogrammierung.
Christoph
Was würds du denn empfehlen?
Ich hab bis jetzt noch kein Buch über cpp und Linux gefunden.
CU Jan
Christoph
19-03-2001, 17:00
Als Standardwerk gilt Stevens, "Advanced Programming in the UNIX Environment".
Es gibt auch noch ein Buch von Herold, "Unix Systemprogrammierung".
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.