QProcess liest nicht alle Ausgaben des Prozesses
Verfasst: 10. März 2009 15:42
Hallo!
Ich habe folgendes Problem mit QProcess.
Ich möchte ein Backup-Programme für Ubuntu erstellen.
Zu diesem zweck sollen mit dpkg --get-selections die installierten Pakete ausgelesen un in einer Textdatei gespeichert werden.
Hier mein Code:
nun habe ich hier das Problem, dass nicht alle Ausgaben des Prozesses in die Textdatei geschrieben werden. Beim Vergleich, wenn ich den Befehl in der Konsole ausführe werde alle Pakete von A-Z angezeigt.
In der Textdatei stehen meist nur die Pakete mit den Anfangsbuchstaben A-C,F oder maximal G.
Ich habe das Gefühl, dass der Prozess irgendwann abgebrochen wird.
Denn wenn ich nur nach Paketen mit z.B. A* suche werden alle gelistet.
Ein Fehler wird allerdings nicht vom Prozess ausgegeben...
Weiß hier jemand Rat?
Ich habe folgendes Problem mit QProcess.
Ich möchte ein Backup-Programme für Ubuntu erstellen.
Zu diesem zweck sollen mit dpkg --get-selections die installierten Pakete ausgelesen un in einer Textdatei gespeichert werden.
Hier mein Code:
Code: Alles auswählen
.
.
.
lst_packages = new QFile("list_packages.txt");
lst_packages->open(QFile::WriteOnly | QFile::Truncate);
packages = new QProcess();
packages->start("dpkg", QStringList() << "--get-selections");
connect (packages, SIGNAL(readyReadStandardOutput()),this,SLOT(read_process()));
}}
}
void savWidget::read_process()
{
QByteArray line;
line = packages->readLine();
QString output(QString::fromLatin1(line));
QTextStream stream_packages(lst_packages);
stream_packages << output;
}
In der Textdatei stehen meist nur die Pakete mit den Anfangsbuchstaben A-C,F oder maximal G.
Ich habe das Gefühl, dass der Prozess irgendwann abgebrochen wird.
Denn wenn ich nur nach Paketen mit z.B. A* suche werden alle gelistet.
Ein Fehler wird allerdings nicht vom Prozess ausgegeben...
Weiß hier jemand Rat?