Files
continue-lab/cpu_monitor.py
2026-05-09 20:54:12 +02:00

55 lines
1.3 KiB
Python

#!/usr/bin/env python3
# Lancement: python cpu_monitor.py
from datetime import datetime
import time
import psutil
def get_cpu_ram() -> tuple[float, float]:
cpu = psutil.cpu_percent(interval=None)
ram = psutil.virtual_memory().percent
return cpu, ram
def get_disk_usage() -> float:
return psutil.disk_usage('/').percent
def get_net_io() -> tuple[int, int]:
counters = psutil.net_io_counters()
return counters.bytes_sent, counters.bytes_recv
def get_disk_io() -> tuple[int, int]:
counters = psutil.disk_io_counters()
if counters is None:
return 0, 0
return counters.read_bytes, counters.write_bytes
def format_line() -> str:
now = datetime.now().strftime("%H:%M:%S")
cpu, ram = get_cpu_ram()
disk = get_disk_usage()
d_read, d_write = get_disk_io()
sent, recv = get_net_io()
return f"{now} | CPU: {cpu:5.1f}% | RAM: {ram:5.1f}% | Disk: {disk:5.1f}% | ↑{d_read:,} ↓{d_write:,} B | Net: ↑{sent:,} ↓{recv:,} B"
def main() -> None:
print("Monitoring CPU/RAM/Disk. Ctrl+C pour arrêter.")
try:
while True:
print(format_line())
time.sleep(2)
except KeyboardInterrupt:
print("\nArrêt propre.")
if __name__ == "__main__":
main()
# faire une fonction qui affiche hello