use*_*861 5 shell qt sh qprocess qt-creator
我想用Qt启动一个shell脚本.
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();
}
Run Code Online (Sandbox Code Playgroud)
结果是:
好的:结果...."""QProcess:当进程仍在运行时被销毁.
此消息不会每次都出现.
问题是什么?
sas*_*alm 13
process.waitForFinished();正在达到默认的30秒超时.请process.waitForFinished(-1);改用.这将确保您等待该过程完成所需的时间,而不会超时.