QProcess 执行linux的sudo命令
时间: 2023-07-09 17:04:38 浏览: 233
可以使用`QProcess`执行Linux的`sudo`命令。需要注意的是,使用`sudo`命令需要输入密码,因此需要通过`QProcess`的`write`方法将密码输入到命令行中。
以下是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QProcess>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString command = "sudo ls /root"; // 需要使用sudo执行的命令
QProcess process;
process.start(command);
process.waitForStarted();
// 输入密码
QString password = "your_password";
process.write((password + "\n").toUtf8());
process.waitForBytesWritten();
process.waitForFinished();
qDebug() << process.readAllStandardOutput();
return a.exec();
}
```
在上面的代码中,我们使用`QProcess`执行了一个`sudo ls /root`命令,并且通过`write`方法将密码输入到了命令行中。最后,我们通过`readAllStandardOutput`方法获取了命令的输出结果。
阅读全文