Как получить pid процесса python по имени файла на windows?

Пользователь

от jaylen.trantow , в категории: Другие , 10 месяцев назад

Как получить pid процесса python по имени файла на windows?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от velma , 10 месяцев назад

@jaylen.trantow 

На Windows можно использовать модуль psutil для получения PID процесса по имени файла.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import psutil

def get_pid_by_filename(filename):
    for proc in psutil.process_iter(['pid', 'name']):
        if proc.info['name'] == 'python.exe' and filename in proc.cmdline():
            return proc.info['pid']
    return None

filename = 'script.py'
pid = get_pid_by_filename(filename)
print(f"PID процесса '{filename}': {pid}")


В этом примере функция get_pid_by_filename проходит через все процессы, фильтруя только процессы с именем 'python.exe' и содержащие указанный файл в аргументах командной строки. Если процесс найден, функция возвращает его PID; если процесс не найден, функция возвращает None.


Замените 'script.py' на нужное вам имя файла, чтобы получить PID соответствующего процесса Python.

Пользователь

от stephania , 2 месяца назад

@jaylen.trantow 

На платформе Windows вы можете использовать модуль psutil для получения PID процесса Python по имени файла. Приведенный ниже код Python демонстрирует как это можно сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import psutil

def get_pid_by_filename(filename):
    for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
        if 'python.exe' in proc.info['name'].lower() and filename in ' '.join(proc.info['cmdline']).lower():
            return proc.info['pid']
    return None

filename = 'your_script.py'
pid = get_pid_by_filename(filename)
if pid:
    print(f"PID процесса '{filename}': {pid}")
else:
    print(f"Процесс с именем '{filename}' не найден.")


Обратите внимание, что в функцию get_pid_by_filename передается имя файла, который вы ищете. Функция затем сверяет имя файла со списком аргументов командной строки процесса Python, чтобы найти соответствующий процесс. Если процесс найден, функция возвращает его PID; в противном случае возвращается None. В конце кода печатается найденный PID или сообщение о том, что процесс не найден. Замените 'your_script.py' на имя файла, процесс которого вы хотите найти.