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