From 09f266a694a147a2cd895ddeb3a2c8acabacaea0 Mon Sep 17 00:00:00 2001 From: Ben Date: Tue, 11 Dec 2018 14:30:13 +0000 Subject: [PATCH] gonna redo CPUinfo class with workers and structs, started that --- bin/resource-monitor | Bin 114816 -> 0 bytes include/common.h | 22 ++++++++++++++++++++++ include/fans.h | 0 include/sys.h | 12 ++++++++++++ include/temp.h | 2 ++ platform/linux/common.cpp | 22 ++++++++++++++++++++++ src/main.cpp | 9 +++++++-- 7 files changed, 65 insertions(+), 2 deletions(-) delete mode 100755 bin/resource-monitor create mode 100644 include/common.h delete mode 100644 include/fans.h create mode 100644 include/temp.h create mode 100644 platform/linux/common.cpp diff --git a/bin/resource-monitor b/bin/resource-monitor deleted file mode 100755 index 5d333c18899b411de8163fc9caf2360b2213caee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114816 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

`sI0G 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 F{|_ggb%y`| diff --git a/include/common.h b/include/common.h new file mode 100644 index 0000000..e358acd --- /dev/null +++ b/include/common.h @@ -0,0 +1,22 @@ +#pragma once + +#include +#include +#include + +std::vector exec(std::string command) { + char buffer[128]; + std::vector result; + FILE* pipe = popen(command.c_str(), "r"); + try { + while (fgets(buffer, sizeof buffer, pipe) != NULL) { + result.push_back(buffer); + } + } catch (...) { + pclose(pipe); + throw; + } + pclose(pipe); + return result; +} + diff --git a/include/fans.h b/include/fans.h deleted file mode 100644 index e69de29..0000000 diff --git a/include/sys.h b/include/sys.h index e69de29..07ec564 100644 --- a/include/sys.h +++ b/include/sys.h @@ -0,0 +1,12 @@ +#pragma once + +#include +#include +#include +#include + +struct Sys { + unsigned long long SYSTEM_UPTIME; + unsigned short CPU_CORES; + +}; diff --git a/include/temp.h b/include/temp.h new file mode 100644 index 0000000..3f59c93 --- /dev/null +++ b/include/temp.h @@ -0,0 +1,2 @@ +#pragma once + diff --git a/platform/linux/common.cpp b/platform/linux/common.cpp new file mode 100644 index 0000000..280d919 --- /dev/null +++ b/platform/linux/common.cpp @@ -0,0 +1,22 @@ +// #include + +// #include +// #include +// #include +// #include + +// std::vector exec(std::string command) { +// char buffer[128]; +// std::vector result; +// FILE* pipe = popen(command.c_str(), "r"); +// try { +// while (fgets(buffer, sizeof buffer, pipe) != NULL) { +// result.push_back(buffer); +// } +// } catch (...) { +// pclose(pipe); +// throw; +// } +// pclose(pipe); +// return result; +// } diff --git a/src/main.cpp b/src/main.cpp index 2323a2c..8eae3d8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include #include @@ -14,6 +14,11 @@ int main(int argc, char** argv) { cpu->START_CPU_POLLING(); mem->START_MEMORY_POLLING(); + std::vector lscpu = exec("lscpu"); + for (unsigned int i = 0; i < lscpu.size(); i++) { + std::cout << lscpu[i] << std::endl; + } + while(1) { sleep(1); std::cout << std::endl;