Python проверяет, запущен ли процесс или нет

Я пытаюсь создать скрипт python, который позже я буду запускать как службу. Теперь я хочу запускать определенную часть кода только при запущенном iTunes. Из некоторых исследований я понимаю, что опрос всего списка команд с последующим поиском приложения для этого списка стоит дорого.

Я узнал, что процессы в операционных системах на базе UNIX создают файл блокировки, чтобы уведомить о том, что программа в данный момент запущена, и в этот момент мы можем использовать os.stat (location_of_file) , чтобы проверить, не является ли файл существует, чтобы определить, запущена программа или нет.

Создан ли аналогичный файл блокировки в Windows?

Если нет, то каковы различные способы в Python, с помощью которых мы можем определить, запущен процесс или нет?

Я использую python 2.7 и интерфейс iTunes COM .

32
задан Martijn Pieters 15 February 2018 в 23:05
поделиться

1 ответ

Если Вы тестируете приложение с, Ведут себя, можно использовать pywinauto. Похожий с ранее комментируют, можно использовать эту функцию:

def check_if_app_is_running(context, processName):
try:
    context.controller = pywinauto.Application(backend='uia').connect(best_match = processName, timeout = 5)
    context.controller.top_window().set_focus()
    return True
except pywinauto.application.ProcessNotFoundError:
    pass
return False

backend может быть 'uia' или 'win32'

timeout, если для силы снова соединяются с applicaction в течение 5 секунд.

0
ответ дан 27 November 2019 в 20:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: