Benutzung des Befehls: execvp()
-
Oh
wusste ich nicht!
Trotzdem danke

-
#include <iostream> #include <stdio.h> using namespace std; int main(void){ char* arg[]={"","www.google.de",0x0}; execvp("wget",arg); //bis hier her und nicht weiter getchar(); return 0; }Kann mir mal jemand erklären warum mein Programm an dieser Stelle endet? Es passiert nur wenn ich wget mit execvp aufrufe; nachdem er wget ausgeführt hat endet mein Programm

Bin echt ratlos

Hilfe!! ^^
-
exec ersetzt den laufenden Prozess durch den aufgerufenen. Dein Programm "endet" also nichtmal richtig, und wenn, dann *beim* Aufruf von wget, nicht danach.
Bitte einfach mal die manpage lesen, da steht sowas drin. Erster Satz.
-
Bashar schrieb:
exec ersetzt den laufenden Prozess durch den aufgerufenen. Dein Programm "endet" also nichtmal richtig, und wenn, dann *beim* Aufruf von wget, nicht danach.
Bitte einfach mal die manpage lesen, da steht sowas drin. Erster Satz.Doch wget wird ganz ausgeführt , seh ich an der Ausgabei und der Datei die gespeichert wird! Danach ist das Programm einfach zu Ende

-
wget ist doch nicht dein Programm. Und jetzt RTFM.
-
Hab sie schon gelesen... Aber hilft mir auch nicht weiter...

-
Willst du nicht lieber die Funktion "system" benutzen?
Du scheinst die exec-Funktionen nicht verstanden zu haben... alles was nach deinem exec-Aufruf ist, wird NICHT mehr ausgeführt!!!
-
achso

Nein system will ich nicht benutzen, gibt es noch eine andere Möglichkeit?
-
fork und dann execvp
-
Bashar schrieb:
fork und dann execvp
Danke Bashar
Hat mir echt geholfen :xmas1: