/
jenyapng
/
project-bash
Обзор
Документация
Войти
/
jenyapng
/
project-bash
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task-3/script-2.py
69 строк
3 KB
jenyapng
first_commit
11 авг 2026, 16:22
11 авг 2026, 16:22
9ea1476
Код
Авторство
О чём код?
#!/usr/bin/env python3 import subprocess import time import sys from datetime import datetime def get_memory_usage(): """Получить информацию об использовании памяти""" try: result = subprocess.run(['free', '-h'], capture_output=True, text=True, check=True) return result.stdout except subprocess.CalledProcessError as e: return f"Ошибка при получении информации о памяти: {e.stderr}" def get_disk_usage(): """Получить информацию об использовании диска""" try: result = subprocess.run(['df', '-h'], capture_output=True, text=True, check=True) return result.stdout except subprocess.CalledProcessError as e: return f"Ошибка при получении информации о диске: {e.stderr}" def continuous_monitoring(interval=5): """Непрерывный мониторинг с заданным интервалом""" print("Мониторинг использования памяти и диска (Ctrl+C для выхода)") try: while True: now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") print(f"\n=== {now} ===") print("\nИспользование памяти:") print(get_memory_usage()) print("\nИспользование диска:") print(get_disk_usage()) time.sleep(interval) except KeyboardInterrupt: print("\nМониторинг остановлен") def save_to_file(): """Сохранить текущие показатели в файл""" timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"system_monitor_{timestamp}.log" with open(filename, 'w') as f: f.write(f"Отчет от {timestamp}\n\n") f.write("Использование памяти:\n") f.write(get_memory_usage()) f.write("\n\nИспользование диска:\n") f.write(get_disk_usage()) print(f"Отчет сохранен в файл: {filename}") if __name__ == "__main__": if len(sys.argv) > 1 and sys.argv[1] == "--continuous": continuous_monitoring() elif len(sys.argv) > 1 and sys.argv[1] == "--save": save_to_file() else: print("Использование памяти:") print(get_memory_usage()) print("\nИспользование диска:") print(get_disk_usage()) print("\nДополнительные параметры:") print(" --continuous Непрерывный мониторинг") print(" --save Сохранить отчет в файл")