Forum: PC-Programmierung Ersatz für system(Programmname);


von Bärbel (Gast)


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.

von Cyblord -. (cyblord)


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?

von Hans (Gast)


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

von Bärbel (Gast)


Lesenswert?

Danke für die Antworten! Die Sprache ist C und das System ist Win7.

von Peter II (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.