【发布时间】:2014-06-12 21:59:37
【问题描述】:
我想通过在 linux 中使用QProcess 运行命令来重新启动计算机。我已经在我的应用程序中硬编码了我的 root 密码。
当我在终端中运行以下命令时,它运行良好:
echo myPass | sudo -S shutdown -r now
当我将命令放入 shell 脚本并通过QProcess 调用它时,它也是成功的:
QProcess process;
process.startDetached("/bin/sh", QStringList()<< "myScript.sh");
但是我不能通过直接传递给QProcess来运行它:
process.startDetached("echo myPass | sudo -S shutdown -r now ");
它只会打印myPass | sudo -S shutdown -r now
怎么可能直接使用QProcess来运行这么复杂的命令。 (不放入 shell 脚本)。
【问题讨论】:
标签: c++ linux qt shell qprocess