update to new process api

This commit is contained in:
2020-11-01 14:33:17 +03:00
parent 8eaf444a25
commit e81d765098
9 changed files with 22 additions and 17 deletions

View File

@ -104,10 +104,11 @@ void GPULoadSource::run()
if ((m_device != "nvidia") && (m_device != "ati"))
return;
// build cmd
QString cmd = m_device == "nvidia" ? "nvidia-smi -q -x" : "aticonfig --od-getclocks";
QString cmd = m_device == "nvidia" ? "nvidia-smi" : "aticonfig";
auto args = m_device == "nvidia" ? QStringList({"-q", "-x"}) : QStringList({"--od-getclocks"});
qCInfo(LOG_ESS) << "cmd" << cmd;
m_process->start(cmd);
m_process->start(cmd, args);
}

View File

@ -83,10 +83,11 @@ void GPUTemperatureSource::run()
if ((m_device != "nvidia") && (m_device != "ati"))
return;
// build cmd
QString cmd = m_device == "nvidia" ? "nvidia-smi -q -x" : "aticonfig --od-gettemperature";
QString cmd = m_device == "nvidia" ? "nvidia-smi" : "aticonfig";
auto args = m_device == "nvidia" ? QStringList({"-q", "-x"}) : QStringList({"--od-gettemperature"});
qCInfo(LOG_ESS) << "cmd" << cmd;
m_process->start(cmd);
m_process->start(cmd, args);
}

View File

@ -32,7 +32,7 @@ HDDTemperatureSource::HDDTemperatureSource(QObject *_parent, const QStringList &
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
m_devices = _args.at(0).split(',', Qt::SkipEmptyParts);
m_cmd = _args.at(1);
m_cmd = _args.at(1).split(' '); // lets hope no one put cmd with spaces here lol
m_smartctl = m_cmd.contains("smartctl");
qCInfo(LOG_ESS) << "Parse as smartctl" << m_smartctl;
@ -77,8 +77,12 @@ QVariant HDDTemperatureSource::data(const QString &_source)
QString device = _source;
device.remove("hdd/temperature");
// run cmd
if (m_processes[device]->state() == QProcess::NotRunning)
m_processes[device]->start(QString("%1 %2").arg(m_cmd).arg(device));
if (m_processes[device]->state() == QProcess::NotRunning) {
auto cmd = m_cmd.first();
auto args = m_cmd.mid(1);
args.append(device);
m_processes[device]->start(cmd, args);
}
return m_values[device];
}

View File

@ -45,7 +45,7 @@ private:
// properties
QHash<QString, QProcess *> m_processes;
// configuration and values
QString m_cmd;
QStringList m_cmd;
QStringList m_devices;
bool m_smartctl;
QHash<QString, QVariant> m_values;

View File

@ -84,7 +84,7 @@ QVariantMap NetworkSource::initialData(const QString &_source) const
void NetworkSource::run()
{
m_values["network/current/name"] = NetworkSource::getCurrentDevice();
m_process->start("iwgetid -r");
m_process->start("iwgetid", QStringList() << "-r");
}