QProcess - Destroyed while process is still running

Рейтинг: 0Ответов: 0Опубликовано: 06.02.2023

Необходимо запустить 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()?

Ответы

Ответов пока нет.