2026-01-29 06:54:10 +01:00
TASK: Write a Python script 'system_monitor.py' that logs CPU and memory usage to 'usage.log' every 5 seconds. Ensure it handles keyboard interrupts.
----------------------------------------
Loading...
-> Writing file: system_monitor.py
[36m [2m CHANGES: system_monitor.py [0m
LINE OLD
--------------------------------------------------------------------------------------------------------------------------------------------
1 import psutil
2 import time
2026-01-29 07:42:06 +01:00
3
2026-01-29 08:06:31 +01:00
4 try:
5 with open('usage.log', 'a') as log_file:
6 while True:
2026-02-10 04:29:48 +01:00
7 cpu = psutil.cpu_percent(interval=1)
8 [31m- [0m [31m mem = psutil.virtual_memory()
9 [31m- [0m [31m timestamp = time.strftime('%Y-%m-%d %H:%M:%S')
10 [31m- [0m [31m log_entry = f"{timestamp} CPU: {cpu}% Memory: {mem.percent}%\n"
11 log_file.write(log_entry)
12 log_file.flush()
13 [31m- [0m [31m time.sleep(4) # Already waited 1 sec in cpu_percent, so sleep 4 more to total 5
14 except KeyboardInterrupt:
15 [31m- [0m [31m print("Monitoring stopped by user.")"}
2026-01-29 06:54:10 +01:00
2026-02-10 04:29:48 +01:00
The script 'system_monitor.py' has been created. It logs CPU and memory usage to 'usage.log' every 5 seconds and handles keyboard interrupts gracefully.