我想让QProcess一次运行多个命令,而不是一次运行。
void Route::add_route()
{
QProcess *Add_route = new QProcess(this);
Add_route->start("notepad",QStringList() << "interface" << "ipv4" << "set" << "interface" << "" << "metric=1");
Add_route->start("explorer",QStringList() << "interface" << "ipv6" << "set" << "interface" << "" << "metric=1");
Add_route->waitForFinished();
}
使用此功能,它将仅运行第一个。
附:我正在使用记事本和资源管理器进行测试
谢谢!
答案 0 :(得分:2)
QProcess具有成员函数startDetached()
。对于需要启动的每个进程,请使用一个QProcess,而对于所有进程,请不要使用一个QProcess。参见http://doc.qt.io/qt-5/qprocess.html#startDetached
答案 1 :(得分:0)
QProcess
顾名思义代表单个进程而不是多个进程。
因此,您设计使用单个QProcess
对象运行两个进程的要求在设计上是错误的。
您有两种选择:
QProcess
实例,每个进程“命令”一个实例