I want to launch a shell script with Qt.
QProcess process;
process.start(commandLine, QStringList() << confFile);
process.waitForFinished();
if(process.exitCode()!=0)
{
qDebug () << " Error " << process.exitCode() << process.readAllStrandardError();
}
else
{
qDebug () << " Ok " << process.readAllStrandardOutput() << process.readAllStrandardError();
}
The result is :
Ok : Result…. ” “” QProcess : Destroyed while process is still
running.
This message does not appear every time.
What is the problem?
process.waitForFinished();is hitting the default 30 seconds timeout. Useprocess.waitForFinished(-1);instead. This will make sure you wait for however long it takes for the process to finish, without any timeout.