diff --git a/ext-sysmon-1.1.zip b/ext-sysmon-1.1.zip index 2ca4f1b..94eb49d 100644 Binary files a/ext-sysmon-1.1.zip and b/ext-sysmon-1.1.zip differ diff --git a/ext-sysmon/CMakeLists.txt.user b/ext-sysmon/CMakeLists.txt.user deleted file mode 100644 index aa23587..0000000 --- a/ext-sysmon/CMakeLists.txt.user +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - - QmlJS - - QmlJSGlobal - - - 2 - UTF-8 - false - 4 - false - true - 1 - true - 0 - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - Desktop - Desktop - {a22d6db7-e0a5-452b-9173-b8efacd95ba3} - 0 - 0 - 0 - - /home/arcanis/Documents/github/pytextmonitor/ext-sysmon-build - false - - - - - all - - false - false - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Сборка - - ProjectExplorer.BuildSteps.Build - - - - clean - - true - false - true - Сборка - - CMakeProjectManager.MakeStep - - 1 - Очистка - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - all - - CMakeProjectManager.CMakeBuildConfiguration - - 1 - - - 0 - Установка - - ProjectExplorer.BuildSteps.Deploy - - 1 - Локальная установка - - ProjectExplorer.DefaultDeployConfiguration - - 1 - - - true - - false - false - false - false - true - 0.01 - 10 - true - 25 - - true - valgrind - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - - 2 - - - - false - %{buildDir} - Запуск std::exception &E - - ProjectExplorer.CustomExecutableRunConfiguration - 3768 - true - false - false - false - true - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.EnvironmentId - {ab3ec085-9c1a-4bfc-af86-f7898da68a64} - - - ProjectExplorer.Project.Updater.FileVersion - 14 - - diff --git a/ext-sysmon/extsysmon.cpp b/ext-sysmon/extsysmon.cpp index e1f25c6..e90ce49 100644 --- a/ext-sysmon/extsysmon.cpp +++ b/ext-sysmon/extsysmon.cpp @@ -60,40 +60,33 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) key = QString("GPU"); if (gpudev == QString("nvidia")) { - try + f_out = popen("nvidia-smi -q -d UTILIZATION | grep Gpu | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2)) + value = QString(" N\\A"); + else { - f_out = popen("nvidia-smi -q -d UTILIZATION | grep Gpu | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2]; sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else if (gpudev == QString("ati")) { - try + f_out = popen("aticonfig --od-getclocks | grep load | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 3)) + value = QString(" N\\A"); + else { - f_out = popen("aticonfig --od-getclocks | grep load | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; - printf ("lol?"); out = QString(output).split(QString(" "), QString::SkipEmptyParts)[3]; sprintf (val, "%5.1f", out.left(out.count()-2).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else { @@ -108,38 +101,32 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) key = QString("GPUTemp"); if (gpudev == QString("nvidia")) { - try + f_out = popen("nvidia-smi -q -d TEMPERATURE | grep Gpu | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 2)) + value = QString(" N\\A"); + else { - f_out = popen("nvidia-smi -q -d TEMPERATURE | grep Gpu | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[2]; sprintf (val, "%4.1f", out.toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); } else if (gpudev == QString("ati")) { - try + f_out = popen("aticonfig --od-gettemperature | grep Temperature | tail -n1 2>&1", "r"); + fgets (output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(" "), QString::SkipEmptyParts).count() < 4)) + value = QString(" N\\A"); + else { - f_out = popen("aticonfig --od-gettemperature | grep Temperature | tail -n1 2>&1", "r"); - fgets (output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(" "), QString::SkipEmptyParts)[4]; sprintf (val, "%4.1f", out.toFloat(&ok)); value = QString(val); } - catch(std::exception &e) - { - value = QString(" N\\A"); - } pclose(f_out); } else @@ -158,22 +145,19 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) { qb = hdddev[i].toUtf8(); dev = qb.data(); - sprintf(command, "sudo hddtemp %s 2>&1", dev); - try + sprintf(command, "hddtemp %s", dev); + f_out = popen(command, "r"); + fgets(output, 256, f_out); + if ((output[0] == '\0') || + (QString(output).split(QString(":"), QString::SkipEmptyParts).count() < 3)) + value = QString(" N\\A"); + else { - f_out = popen(command, "r"); - fgets(output, 256, f_out); - if (output[0] == '\0') - throw; out = QString(output).split(QString(":"), QString::SkipEmptyParts)[2]; sprintf (val, "%4.1f", out.left(out.count()-4).toFloat(&ok)); value = QString(val); - pclose(f_out); - } - catch(std::exception &e) - { - value = QString(" N\\A"); } + pclose(f_out); if (ok == false) value = QString(" N\\A"); setData(source, hdddev[i], value);