Mit QProcess ein Prozess im Hintergrund laufen lassen
Mit QProcess ein Prozess im Hintergrund laufen lassen
Hallo,
ich möchte mit QProcess ein externes Programm starten, welches für unbestimmte Zeit im Hintergrund laufen soll. Wenn ich QProcess::startDetached(...); verwende funktioniert das zwar, aber unter Windows öffnet sich eine Konsole.
Wenn ich das Programm ganz normal mit einem QProcess-Objekt starte, dann lebt der Process nur so lange wie das Objekt, das Programm soll aber auf unbestimmte Zeit weiterleben.
Wie kann ich ein externes Programm ohne Konsole starten und dies für unbestimmte Zeit laufen lassen?
Viele Grüße
ich möchte mit QProcess ein externes Programm starten, welches für unbestimmte Zeit im Hintergrund laufen soll. Wenn ich QProcess::startDetached(...); verwende funktioniert das zwar, aber unter Windows öffnet sich eine Konsole.
Wenn ich das Programm ganz normal mit einem QProcess-Objekt starte, dann lebt der Process nur so lange wie das Objekt, das Programm soll aber auf unbestimmte Zeit weiterleben.
Wie kann ich ein externes Programm ohne Konsole starten und dies für unbestimmte Zeit laufen lassen?
Viele Grüße
-
- Beiträge: 89
- Registriert: 24. Februar 2006 16:41
- Wohnort: Dresden
Der Prozess welcher im Hintergrunf läuft benötigt längere Zeit um sich sebstständig "herunterzufahren". Das QT-Programm welches diesen Prozess gestartet hat soll ohne Verzögerung beendet werden. Ein "Abschießen" des Prozesses durch beenden des QT-Programmes soll auch vermieden werden.
Alles in allem führt kein Weg daran vorbei den Prozess unbemerkt im Hintergund für "unbestimmte" Zeit laufen zu lassen, ohne Konsole wie es bei QProzess::startDetached() unter Windows der Fall ist.
Alles in allem führt kein Weg daran vorbei den Prozess unbemerkt im Hintergund für "unbestimmte" Zeit laufen zu lassen, ohne Konsole wie es bei QProzess::startDetached() unter Windows der Fall ist.
-
- Beiträge: 89
- Registriert: 24. Februar 2006 16:41
- Wohnort: Dresden
Das ist merkwürdig. Evtl. hast du dein QT-Testprogramm sowieso in einer Konsole gestartet und so wird dann auch keine neue Konsole geöffnet?
Ich starte den Prozess aus einer GUI-Applikation heraus. Ich verwende QT 4.6 sowie Windows XP und Vista. Unter Linux erscheint keine Konsole. Der Prozess den ich starte ist ein Java-Programm mit einem laufenden ServerSocket.
Ich starte den Prozess aus einer GUI-Applikation heraus. Ich verwende QT 4.6 sowie Windows XP und Vista. Unter Linux erscheint keine Konsole. Der Prozess den ich starte ist ein Java-Programm mit einem laufenden ServerSocket.
-
- Beiträge: 89
- Registriert: 24. Februar 2006 16:41
- Wohnort: Dresden
Ja gibt es. Und zwar das von der win api bereitgestellt CREATEPROCESS. Da kann man dann als CreationFlag auch angeben das der Process detached starten soll.tec_1 hat geschrieben: Evtl. gibt es ja noch andere Möglichkeiten zum starten eines Prozesses ohne Konsole für unbestimmte Zeit.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx