diff --git a/Processes/cpu_freq b/Processes/cpu_freq new file mode 100755 index 0000000000000000000000000000000000000000..08b048e53df93f62395ea31d4bd03cdea1a6303b Binary files /dev/null and b/Processes/cpu_freq differ diff --git a/Processes/cpu_freq.c b/Processes/cpu_freq.c new file mode 100644 index 0000000000000000000000000000000000000000..43001255dd3611046b474abe69018ed8e4adcccf --- /dev/null +++ b/Processes/cpu_freq.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +int main(void) { + while (1) { + FILE *fp = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r"); + if (!fp) { + perror("Fehler beim Öffnen der Frequenz-Datei"); + return 1; + } + + int freq_kHz; + fscanf(fp, "%d", &freq_kHz); + fclose(fp); + + double freq_MHz = freq_kHz / 1000.0; + printf("CPU-Frequenz: %.2f MHz\n", freq_MHz); + } + + return 0; +} diff --git a/Processes/cpu_temp b/Processes/cpu_temp new file mode 100755 index 0000000000000000000000000000000000000000..be473d968984a588c2e15d3ddc85bf1c32b3fd91 Binary files /dev/null and b/Processes/cpu_temp differ diff --git a/Processes/cpu_temp.c b/Processes/cpu_temp.c new file mode 100644 index 0000000000000000000000000000000000000000..b34387eaed359ff9a696d860fbc813c78cbb1762 --- /dev/null +++ b/Processes/cpu_temp.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +int main(void) { + while (1) { + FILE *fp = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); + if (!fp) { + perror("Fehler beim Öffnen der Temperatur-Datei"); + return 1; + } + + int temp_mC; + fscanf(fp, "%d", &temp_mC); + fclose(fp); + + double temp_C = temp_mC / 1000.0; + printf("CPU-Temperatur: %.2f°C\n", temp_C); + } + + return 0; +} diff --git a/Processes/process_monitoring.sh b/Processes/process_monitoring.sh new file mode 100644 index 0000000000000000000000000000000000000000..a8b758862ca9030a509c905f4e17ec592e689710 --- /dev/null +++ b/Processes/process_monitoring.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +/usr/local/bin/cpu_temp & +/usr/local/bin/cpu_freq & + +while true +do + sleep 3600 +done diff --git a/main b/main index 113d1a94929368e74210da54c7276f9de98eadd0..6c32a00a04d74622642bf8487751bb487f87fe35 100755 Binary files a/main and b/main differ diff --git a/main.c b/main.c index 3922f93aa7752bd3f69b1e9a344064aae0969bb3..a30478ad94f77061a628b4e41121e830398060dc 100644 --- a/main.c +++ b/main.c @@ -1,48 +1,6 @@ #include <stdio.h> #include <stdlib.h> -void read_cpu_temp() { - FILE *file; - char buffer[1024]; - char *temp_path = "/sys/class/thermal/thermal_zone0/temp"; - - file = fopen(temp_path, "r"); - if (file == NULL) { - printf("Error opening file\n"); - return; - } - - if (fgets(buffer, sizeof(buffer), file) != NULL) { - long temp = atol(buffer) / 1000; - printf("CPU temperature: %ld C\n", temp); - } else { - printf("Error reading file\n"); - } - fclose(file); -} - -void read_cpu_frequency() { - FILE *file; - char buffer[1024]; - char *freq_path = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq"; - - file = fopen(freq_path, "r"); - if (file == NULL) { - printf("Error opening file\n"); - return; - } - - if (fgets(buffer, sizeof(buffer), file) != NULL) { - float freq = atol(buffer) / 1000000.0f; - printf("CPU frequency: %f GHz\n", freq); - } else { - printf("Error reading file\n"); - } - fclose(file); -} - int main(void) { - read_cpu_temp(); - read_cpu_frequency(); return 0; } \ No newline at end of file diff --git a/tracking.service b/tracking.service new file mode 100644 index 0000000000000000000000000000000000000000..f4c409b19dbaa5dce6eef7b49ba97f7d30ed1e03 --- /dev/null +++ b/tracking.service @@ -0,0 +1,11 @@ +[Unit] +Description=Monitoring Processes +After=network.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/process_monitoring.sh +Restart=always + +[Install] +WantedBy=multi-user.target \ No newline at end of file