Как получить список процессов на Windows 10 с помощью Python?

Получение списка процессов на операционной системе Windows 10 может оказаться полезной задачей для системных администраторов и разработчиков. С помощью Python эту задачу можно выполнить легко и эффективно, используя специализированные библиотеки.

В контексте автоматизации и мониторинга система, такое решение позволяет вам не только следить за активностью процессов, но и при необходимости предпринимать действия в режиме реального времени. В этом примере мы используем библиотеку psutil, которая является мощным инструментом для работы с системной информацией.

В данной статье мы подробно рассмотрим как устанавливать и использовать psutil для получения, фильтрации и управления процессами на Windows 10.

Необходимые библиотеки

Представление о библиотеке psutil

psutil (произносится как «пи-эс-ютил») — это кроссплатформенная библиотека для доступа и мониторинга различных системных параметров, таких как процессы, использование CPU, памяти, сетевых интерфейсов и многого другого.

Установка библиотеки psutil через pip

Перед началом работы необходимо установить библиотеку psutil. Сделать это можно с помощью следующей команды:

pip install psutil

Основы работы с psutil

Общее описание возможностей библиотеки psutil

Библиотека psutil предлагает множество функций для работы с системной информацией. Она позволяет вам:

  • Получать информацию о процессе, такую как имя, PID, статус и другие параметры.
  • Контролировать использование системных ресурсов (CPU, память и т.д.).
  • Манипулировать процессами (например, завершить их или изменить приоритет).

Понимание объектов-процессов и их свойств

Объекты-процессы в psutil представляют собой экземпляры класса psutil.Process, содержащие всю необходимую информацию о конкретном процессе.

Пример кода, выводящий имена всех текущих процессов:

import psutil

# Получение информации о всех процессах
def list_process_names() -> None:
    for process in psutil.process_iter():
        try:
            print(process.name())
        except psutil.NoSuchProcess:
            pass

list_process_names()

Получение информации о процессах

Описание ключевых свойств процесса

Процессы в psutil обладают множеством свойств, среди которых PID (идентификатор процесса), имя и статус являются основными. Ниже приведен пример функции, которая выводит PID, имя и статус для каждого обнаруженного процесса.

Реклама
import psutil

# Получение списка процессов с базовой информацией
def get_process_info() -> None:
    for process in psutil.process_iter(['pid', 'name', 'status']):
        try:
            print(process.info)
        except psutil.NoSuchProcess:
            pass

get_process_info()

Обсуждение полезности информации для мониторинга системы

Информация о процессах позволяет мониторить активность системы, обнаруживать процессы, чрезмерно использующие ресурсы, и принимать соответствующие меры. Это особенно важно в автоматизированных системах мониторинга и администрирования.

Фильтрация процессов

Описание способов фильтрации процессов по критериям

Иногда требуется отфильтровать процессы по определенным критериям, например, по имени. Такой подход позволяет сфокусироваться на необходимых процессах, игнорируя все остальное.

Пример кода для фильтрации процессов по имени:

import psutil

# Фильтрация процессов по имени
def filter_processes_by_name(name: str) -> None:
    for process in psutil.process_iter(['pid', 'name']):
        try:
            if name.lower() in process.info['name'].lower():
                print(process.info)
        except psutil.NoSuchProcess:
            pass

filter_processes_by_name('python')

Дополнительная функциональность

Как завершать или изменять процессы

Одна из полезных функций psutil — возможность управлять процессами, например, завершать их по PID. Это может быть полезно для автоматического устранения зависших или нежелательных процессов.

Пример кода для завершения процесса по PID:

import psutil

# Завершение процесса по PID
def kill_process(pid: int) -> None:
    try:
        process = psutil.Process(pid)
        process.terminate()
        print(f'Процесс с PID {pid} был завершен.')
    except psutil.NoSuchProcess:
        print(f'Процесс с PID {pid} не найден.')

kill_process(1234)

Обсуждение дополнительных возможностей библиотеки psutil

Кроме работы с процессами, библиотека psutil может использоваться для мониторинга использования CPU, памяти, дисков, сети и других параметров системы. Это делает ее универсальным инструментом для системного администрирования и мониторинга.

Заключение

Подводя итоги, в этой статье мы рассмотрели, как с помощью Python и библиотеки psutil получить список процессов на Windows 10, отфильтровать их по различным критериям и даже завершить нежелательные процессы. Знания в этой области могут быть полезны для автоматизации системного мониторинга, что позволяет более эффективно управлять ресурсами и поддерживать стабильность системы.

Рекомендуется продолжить практиковаться и углубляться в использование psutil для разработки собственных скриптов по мониторингу и администрированию систем.

Ссылки

Для дальнейшего изучения psutil и работы с процессами на Python, рекомендуем следующие ресурсы:


Добавить комментарий