Как проверить запущен ли процесс без цикла

Пытаюсь сделать так, чтобы раз в 30 сек была проверка наличия процесса. Я нашел такой вот код

   for proc in psutil.process_iter():
         name = proc.name()
         #print(name)
         if name == "prog.exe":
            print('123')

Как можно сделать условие если процесс есть то True если нет то False?


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

Автор решения: Alioshca Z

Попробуйте так.

import time
from subprocess import Popen, PIPE

while True:
    prs = Popen('tasklist', stdout=PIPE).stdout.readlines()
    pr_list = [prs[i].decode('cp866', 'ignore').split()[0] for i in range(3,len(prs))]

    if 'ваш_процесс.exe' in pr_list:
        x = True
    else:
        x = False

    print(x)

    time.sleep(30)
→ Ссылка