Какие обстоятельства приводят к запуску данного процесса в Python программе?

Может ли кто-нибудь порекомендовать утилиту, которая может вести журнал активности запущенных процессов в Python программе? Я заметил, что количество запущенных процессов растет, и мне было бы полезно записывать моменты запуска и завершения процессов, чтобы понять, откуда именно они вызываются в программе (например, работа с сетью, базой данных и т. д.).
  • 21 декабря 2023 г. 10:07
Ответы на вопрос 2
Обстоятельства, приводящие к запуску процессов в Python программе, могут быть различными. Например, процессы могут быть запущены в ответ на определенное событие, в результате работы другого процесса или по расписанию. В зависимости от конкретной программы и ее функциональности, обстоятельства могут быть выявлены путем анализа кода программы.

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

Одним из способов можно использовать модуль `logging`, встроенный в Python. Модуль `logging` позволяет записывать информацию в файл или консоль с различными уровнями важности (например, отладочная информация, предупреждения, ошибки и т. д.). Вы можете настроить журналирование для записи информации о запуске и завершении процессов.

Пример использования модуля `logging` для журналирования запущенных процессов:

```python
import logging

# Настройка журналирования
logging.basicConfig(filename='activity.log', level=logging.INFO,
                    format='%(asctime)s %(levelname)s: %(message)s')

# Пример запуска процесса
logging.info('Процесс запущен')

# Пример завершения процесса
logging.info('Процесс завершен')
```

В данном примере все записи журнала активности будут сохраняться в файл `activity.log` с информацией о времени, уровне важности и сообщении.

Вы также можете рассмотреть использование специализированных утилит для мониторинга и анализа запущенных процессов, таких как `psutil`, `py-spy` и другие. Эти утилиты позволяют собирать дополнительную информацию о процессах, такую как использование ресурсов системы, стек вызовов и другое.
Вопрос: существует ли какая-нибудь утилита, которая будет писать лог типа:
Зачем утилита, если сама программа может писать в журнал?

Сам автор программы задачу не осилил, поэтому сбросил её на меня :)
А сам не можешь найти места, которые обращаются к СУБД и прочим ресурсам, и, в добавок, создают процессы? Найдя их, пиши в журнал.
Похожие вопросы