Prozess asyn starten
Prozess asyn starten
Hallo,
wie kann ich einen System call asynchron ausführen?
d.h. ich will system("./xcc"); jedoch soll mein Code nicht wie bei system() oder qprozess blockieren sondern nur den befehl weiter ans betriebssystem schcken
viele grüße
wie kann ich einen System call asynchron ausführen?
d.h. ich will system("./xcc"); jedoch soll mein Code nicht wie bei system() oder qprozess blockieren sondern nur den befehl weiter ans betriebssystem schcken
viele grüße
Was du suchst ist
http://doc.qt.nokia.com/latest/qprocess.html
BTW: Das nennt man "einen Prozess asynchron starten".. ein "System call" ist was anderes
hth!
http://doc.qt.nokia.com/latest/qprocess.html
BTW: Das nennt man "einen Prozess asynchron starten".. ein "System call" ist was anderes
hth!
Wie??
das klappt nicht..
Code: Alles auswählen
methode() {
qprocess a;
a.start();
}
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Eine Klasse wird eh nie gelöscht, so eine Instanz der Klasse.gast23 hat geschrieben:ich möchte das objekt aber auch nicht auf dem heap anlegen da die klasse nicht gelöscht wird...
Was willst du denn am Ende mit dem QProcess-Objekt anstellen? Soll diese Methode öfter hintereinander ausgeführt werden, so dass am Ende mehrere Prizesse gleichzeitig laufen? Möchtest du mit dem Prozess kommunizieren? Oder soll der Prozess nur gestartet werden, und dir ist danach schnuppe, ob alles klar gegangen ist, was der Prozess auf stderr schreibt, etc?
Bei letzterem: Schau dich in der "static"-Section zu QProcess in der Doku um. Da gibt es "QProcess::startDetached()"
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
z.B. so wenn man startDetached nicht benutzen will weil man mehr Infos braucht:
Oder was man auch immer damit anstellen will...
Code: Alles auswählen
QProcess *p = new QProcess
connct(p, SIGNAL(finished(int, QProcess::ExitStatus), p, SLOT(deleteLater());
p->start()
if(!p->waitForStarted()) {
qDebug("Kann Prozess nicht starten");
}
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Wenn Dein prozess nur die "funktion/Methode" überleben soll, wird es sicher ne andere Instanz geben, die mehr Lebenszeit aufweisst als die Funktion -> Da kannst sicher dein QProcess verwalten lassen.
Soll dein Prozess aber sogar dein programm an sich ueberleben koennen (Und dein Programm soll wirklich beendet sein, und nicht nur "unsichtbar" bis der andere Prozess sich beendet), ist qprocess auch der Falsche weg. Dann wirst mit BS funktionen besser bedient sein.
Ciao ...
Soll dein Prozess aber sogar dein programm an sich ueberleben koennen (Und dein Programm soll wirklich beendet sein, und nicht nur "unsichtbar" bis der andere Prozess sich beendet), ist qprocess auch der Falsche weg. Dann wirst mit BS funktionen besser bedient sein.
Ciao ...