Pre-loader

/ K2 Cloud ERP for Python / Програмістам / Різні задачі Python-програмістів / Управління процесами / Як дізнатись під яким процесом gurnicorn запущений даний процес

Як дізнатись під яким процесом gurnicorn запущений даний процес

Для того, щоб дізнатися PID (ідентифікатор процесу) Gunicorn, який виконує ваш додаток, ви можете використовувати команду pgrep або ps разом із фільтром за ім'ям процесу.

1. Використання pgrep:

pgrep -f gunicorn

Ця команда поверне PID всіх процесів, які мають "gunicorn" в своєму імені командного рядка.

2. Використання ps з фільтром:

ps aux | grep gunicorn

Ця команда виведе інформацію про всі запущені процеси, а потім фільтрує рядки за допомогою grep, щоб вибрати тільки ті, які мають "gunicorn" в командному рядку.

Якщо вам потрібно отримати PID конкретного екземпляра Gunicorn, якщо у вас є кілька екземплярів, ви можете додатково вказати ім'я додатка або конфігураційний файл. Наприклад:

pgrep -f "gunicorn your_app:app"

або

ps aux | grep "gunicorn your_app:app"

Зверніть увагу, що ви повинні замінити "your_app:app" на відповідне ім'я вашого додатку чи конфігураційний файл, якщо вони відрізняються.

Як дізнатись про pid процесу з Python 

Якщо ви хочете дізнатись PID (ідентифікатор процесу) Gunicorn, який використовується для виконання вашого додатку Python, ви можете використати бібліотеку psutil. Ця бібліотека дозволяє отримувати інформацію про процеси в системі.

Ось приклад, як використати psutil для знаходження PID Gunicorn:

import psutil

def get_gunicorn_pid():
    # Отримати список всіх процесів
    all_processes = psutil.process_iter(attrs=[’pid’, ’name’])

    # Знайти PID Gunicorn
    gunicorn_pid = None
    for process in all_processes:
        if process.info[’name’] == ’gunicorn’:
            gunicorn_pid = process.info[’pid’]
            break

    return gunicorn_pid

if __name__ == "__main__":
    gunicorn_pid = get_gunicorn_pid()

    if gunicorn_pid is not None:
        print(f"Gunicorn is running with PID: {gunicorn_pid}")
    else:
        print("Gunicorn is not running.")

Цей приклад використовує psutil.process_iter для отримання інформації про всі процеси в системі. Список процесів фільтрується за ім'ям процесу, і якщо знайдено Gunicorn, повертається його PID.

Переконайтеся, що ви встановили бібліотеку psutil, якщо ще цього не зробили:

pip install psutil

Зверніть увагу, що цей метод може не бути абсолютно точним, і може бути ситуації, коли ім'я процесу може відрізнятися або іншим чином змінюватися в залежності від конкретного середовища виконання.

Автор: Рудюк С.А. 2023. K2 Cloud ERP.