使用QProcess执行由多个程序组成的复合命令,要借助sh,不是直接执行程序名。
例:获取开机时间
QProcess proc;
QStringList args;
args << "-c" << "date -d \"$(awk -F. '{print $1}' /proc/uptime) second ago\" +\"%Y-%m-%d %H:%M:%S\"";
proc.start("sh", args);
if (proc.waitForFinished())
{
QString time = proc.readAll();
}