Ersatz für system(Programmname);

Gast #2671546
Lesenswert?

Guten Abend,
welche Funktion kann ich am besten benutzen, um ein externes Programm zu 
starten, wenn ich nicht auf die Beendigung warten möchte? Soweit ich 
weiß, macht der Aufruf mit system(); das. Ich möchte das Programm aber 
nur triggern, und sofort mit meinem Programm weitermachen, auch wenn das 
externe Programm noch nicht richtig gestartet ist.
#2671548
Lesenswert?

Bärbel schrieb:
> Guten Abend,
> welche Funktion kann ich am besten benutzen, um ein externes Programm zu
> starten, wenn ich nicht auf die Beendigung warten möchte? Soweit ich
> weiß, macht der Aufruf mit system(); das. Ich möchte das Programm aber
> nur triggern, und sofort mit meinem Programm weitermachen, auch wenn das
> externe Programm noch nicht richtig gestartet ist.

Vielleicht verrätst du uns noch die Sprache?
Gast #2671551
Lesenswert?

Du hast mehrere Möglichkeiten:
Schau dir die spawn / exec Calls auf Unixartigen System an,
die können bei Bedarf asynchron laufen, d.h. Sie kehren zum Aufrufer 
zurück während das externe programm läuft oder ersetzen den Aufrufer 
ganz.
Unter Windows heist die Funktion CreateProcess und CreateProcessEx,
die laufen immer asynchron.
Wenn Du aber gar keine Wartezeit haben wilst, mußt du den Start des 
externen Programms in einen extra Thread auslagern.

Gruß
Hans

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren