C++ do while system()

nightmare134

Grünschnabel
Gibt es eine Möglichkeit einen Prozess zu starten während ein system() call gemacht wurde.
Habe darüber leider nichts brauchbares gefunden :(

Um was es mir eigentlich geht ist folgendes:

do "MySQL Backup wird durchgeführt" while (mysqldump otrs > V:\dump\dump.sql)

Kann mir jemand eventuell weiterhelfen?
 
Da ich nicht ganz sicher bin, ob ich deine Frage ganz richtig verstanden habe möchte ich zuerst mal nachfragen ob ich auf dem richtigen Weg bin:
Du möchtest während des Ausführens von system("mysqldump otrs > V:\dump\dump.sql"); noch andere Aktionen tätigen? Wenn ja, einfach Ausgaben, oder etwas bestimmtes?
 
Prinzipiell eine einfache Ausgabe "MySQL Backup wird durchgeführt" am Besten wäre es noch wenn es die Möglichkeit gibt für den Fortschritt des Backups eine Fortschrittsanzeige zu haben?!
 
Hallo,

zuerst die Ausgabe machen und dann den Systemcall aufrufen. Wenn der Systemcall beendet ist, entfernst du die Ausgabe wieder.

Falls du das Ganze in einer GUI ausführst, solltest du den Systemcall in einem eigenen Thread ausführen, weil sonst die GUI blockiert und die Ausgabe u.U. gar nicht mehr angezeigt wird. Über eine benutzerdefinierte Message sagst du dann der GUI, wenn die Aktion beendet ist, damit die Ausgabe wieder gelöscht werden kann.

Eine Forschrittsanzeige dürfte schwierig zu realisieren, sein da wohl kein Informationen über den aktuellen Fortschritt verfügbar sind. Allenfalls wäre vielleicht eine kleine Animation denkbar, die zeigt, dass irgendwas passiert.

Gruß
MCoder
 
Zurück