QProcess - Destroyed while process is still running
Необходимо запустить python скрипт упакованный в .exe файл.
void MessengerMatrix::sendMessage(QString roomId, int messageId)
{
QProcess* bot_matrix = new QProcess(this);
QString cur_path;
QString bot_path;
QString str_messageId;
str_messageId = QString::number(messageId);
QStringList listArg;
listArg << roomId << str_messageId;
cur_path = QDir::currentPath().replace('/',"\\");
bot_path = cur_path + "\\messengers\\matrix\\matrix_bot.exe";
bot_matrix->start(bot_path, listArg);
bot_matrix->waitForFinished(-1);
}
Когда запускается matrix_bot.exe он порождает ещё один процесс matrix_bot.exe, который и должен отправить сообщение. И как только порождается дочерний - завершаются оба процесса не успев выполниться. Насколько я понял, проблема в замене ссылки дочерним процессом, как это описано здесь. Возможно ли как-то исправить данную проблему, не прибегая к методу startDetached()?
Источник: Stack Overflow на русском