Как получить PID процесса Python по имени файла на Windows?

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


Ответы (1 шт):

Автор решения: Roman

Сделал так.

from os import path, system

file_path = path.abspath(__file__)[:-len(path.basename(__file__))]

buf_strings = []

system("wmic process get Caption, ProcessId, CommandLine >" + file_path + "PID.txt")

with open(file_path + "PID.txt", "r", encoding='utf-16-le') as file:
    for lines in file:
        if ".py" in lines and "python.exe" not in lines:
            for lines in lines.split():
                if "py.exe" not in lines:
                    buf_strings.append(lines)

print(buf_strings)
→ Ссылка