Я пишу серверное приложение в Qt. и имеет класс Loader, который проверяет наличие доступных сервисов. Таким образом, чтобы успешно запустить сервер, мне необходимо проверить через Loader
, например. программным образом, работает ли сервис MySQL или нет. Я обнаружил, что использование QProcess является чем-л, который связан с этим, но когда я кодируюсь следующим образом:Проверить наличие дополнительных услуг
QProcess mysql;
mysql.start("mysql", QStringList() << "-uroot -ppassword");
if(!mysql.waitForStarted())
qDebug() << "Not loaded...";
mysql.write("show databases;");
mysql.closeWriteChannel();
if(!mysql.waitForFinished())
qDebug() << "Haven't finished yet!";
QByteArray result = mysql.readAll();
QString str(result);
qDebug("%s", qPrintable(str));
Я получаю пустую строку, вы могли бы помочь проверить, запущены ли услуги или нет?
Хорошо, спасибо. Фактически, я подключил свой сервер через QSqlDatabase. Однако это не сработает, пока не запустится сервис для MySQl. – elgolondrino
Но вы запускаете службу с помощью mysql? 'mysql' - это только интерфейс для подключения к серверу mysql. Чтобы запустить сервер, вам нужно выполнить QProcess с помощью mysqld – Greenflow
Я пробовал, но никакого результата. – elgolondrino