Загрузка данных


#!/bin/bash

# Функция мониторинга процессов
monitor_processes() {
    while true; do
        clear
        echo "========================================"
        echo "           Системный монитор            "
        echo "========================================"
        echo "Текущее время: $(date '+%Y-%m-%d %H:%M:%S')"
        echo "----------------------------------------"
        echo "Топ-5 процессов по использованию CPU:"
        ps aux --sort=-%cpu | head -6
        echo "----------------------------------------"
        echo "Топ-5 процессов по использованию RAM:"
        ps aux --sort=-%mem | head -6
        echo "----------------------------------------"
        echo "Общее количество процессов: $(ps -e | wc -l)"
        echo "========================================"
        sleep 2
    done
}

# Перехват сигнала SIGINT (Ctrl+C) для корректного завершения
trap 'kill $MONITOR_PID 2>/dev/null; echo "Мониторинг остановлен"; exit 0' SIGINT

# Запуск функции мониторинга в фоновом режиме
monitor_processes &
MONITOR_PID=$!

echo "Системный монитор запущен."
echo "PID фонового процесса мониторинга: $MONITOR_PID"
echo "Для остановки нажмите Ctrl+C"

# Ожидание завершения фонового процесса
wait $MONITOR_PID