#!/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