Shellbefehle con C++ Programm aus?

Hallo!

Wie kann ich in Linux innerhalb eines C++ Programms Shell-Befehle absetzten?

In Windows weiss ich es (#include "process.h", System("copy...")).

Aber wie ist das in Linux?

Kann mir jemand sagen welche Lib ich includieren muss bzw. wie man sie benutzt?

Bzw. wie könnte man das selbst schreiben?
Wahrsch. müsste mein Prg. einen fork() machen
dann so was wie exec /bin/bash (ich liebe die bash)
und dann dieser Bash die gewünschten Befehle schicken....

Aber mir währe sehr geholfen wenn es schon eine fertige Lib gibt!!!

Ich bedanke mich schon im vorraus für jede Hilfe!
bye
 
in der stdlib.h gibts die funktion--> int system(const char *string). Damit kannst du Befehle (externe Proggis) aufrufen und danach danach kann das Programm das du programmiert hast wieder weiterlaufen.....

dann gibts da noch--> int execl( const char *path, const char *arg, ...) . Header: unistd.h . Du mußt aber selber darauf achten das der Prozeß richtit beendet wird!!!

Beispiel:
execl("/bin/ps","PS","-A",NULL);
cerr << "\n Error!!!\n";

"/bin/ps" = Befehl, Programm
"PS" = Unter diesem Namen findest du das Programm dann in der Prozeßtabelle
"-A" = Das Argument (können auch mehrere sein!)

Wenn alles gut verläuft wird die Errormeldung nicht ausgegeben!!
 
Danke

Danke für deine Hilfe!

Du hast mir echt geholfen.

Weisst du ob es irgendwo eine Beschreibung der Standart-Libarys gibt?

Sozusagen ein Lexikon wo ich zB unter "stdlib" nachschaune kann und dort eine Beschreibung dieser finde?
 
Zurück
Oben