приложения диспетчера задач список
с сортировкой их по типу и показать сколько памяти они занимаютна питоне
Для решения поставленной задачи на Python мы можем воспользоваться модулем psutil, который позволяет получать подробную информацию обо всех запущенных процессах и ресурсах операционной системы Windows. Вот полный пример скрипта, сортирующий процессы по типам служб/приложений и показывающий потребление оперативной памяти каждым процессом:
python
import psutil
def classify_process(process):
# Классификация процессов по названию процесса и его пути
if process.name().lower() in ['system idle process', 'services.exe']:
return 'Система'
elif any(service_name.lower() in process.name().lower() for service_name in ['svchost', 'lsass']):
return 'Службы ОС'
else:
return 'Приложение'
# Получаем список активных процессов
processes = []
for proc in psutil.process_iter(['pid', 'name', 'memory_info']):
try:
processes.append({
'pid': proc.info['pid'],
'name': proc.info['name'],
'type': classify_process(proc),
'memory_usage': round(proc.memory_info().rss / (1024 * 1024), 2)
})
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
# Сортируем процессы по типу и потреблению памяти
sorted_processes = sorted(processes, key=lambda x: (x['type'], x['memory_usage']), reverse=True)
print(f'{"PID":>8} {"Тип":^15} {"Имя процесса":^30} {"Память(MB)":>15}')
print('-'*75)
for p in sorted_processes:
print(f'{p["pid"]:<8} {p["type"]:<15} {p["name"][:30]:<30} {p["memory_usage"]:>15,.2f}')
Что делает этот скрипт?
Получение списка процессов: Используется библиотека psutil для извлечения текущих процессов и сведений о памяти, которую они используют (memory_info()).
Классификация процессов:
Если процесс относится к ключевым компонентам системы («System Idle Process», службы типа svchost и lsass), он классифицируется как «Система».
Другие стандартные сервисы операционных систем относятся к категории «Службы ОС».
Остальные приложения относят к группе «Приложение».
Форматирование вывода: Отображаются следующие столбцы:
PID — уникальный идентификатор процесса,
Тип процесса,
Имя процесса,
Объем используемой оперативной памяти (RAM) в мегабайтах.
Запустив этот код на компьютере с Windows, вы получите таблицу с упорядоченным списком процессов, разделённых по категориям и отсортированных по объёму потребления памяти.
Примечания:
Для запуска данного скрипта вам потребуется установить библиотеку psutil. Это легко сделать командой:
bash
pip install psutil
Скрипт оптимизирован для Python версии 3.6.0
Свидетельство о публикации №126020803773