使用qprocess类的start接口,输入dhclient -v wlan0,为什么没有返回值
时间: 2024-05-04 10:21:45 浏览: 102
有返回值方法和没有返回值的方法测试。类库方式
QProcess::start()函数会启动一个新进程并开始执行指定的命令。如果该命令需要一些时间才能完成,QProcess不会等待该命令完成才返回,而是立即返回并允许你继续执行其他操作。所以,如果你想获取该命令的返回值,你需要等待该进程完成,然后使用QProcess::readAllStandardOutput()或QProcess::readAllStandardError()函数来获取其标准输出或标准错误流中的内容。
在你的情况下,dhclient -v wlan0命令完成后,它没有返回任何输出,因此QProcess::start()函数不会返回任何值。如果你想检查该命令是否成功执行,你可以在调用start()函数后,使用waitForFinished()函数等待进程完成,然后检查进程的退出代码,例如:
```
QProcess process;
process.start("dhclient", QStringList() << "-v" << "wlan0");
process.waitForFinished();
qDebug() << "Exit code:" << process.exitCode();
```
如果命令成功执行,该命令的退出代码应该是0。如果命令执行失败,退出代码将是一个非零值。
阅读全文