Я пытаюсь создать скрипт python, который позже я буду запускать как службу. Теперь я хочу запускать определенную часть кода только при запущенном iTunes. Из некоторых исследований я понимаю, что опрос всего списка команд с последующим поиском приложения для этого списка стоит дорого.
Я узнал, что процессы в операционных системах на базе UNIX создают файл блокировки, чтобы уведомить о том, что программа в данный момент запущена, и в этот момент мы можем использовать os.stat (location_of_file)
, чтобы проверить, не является ли файл существует, чтобы определить, запущена программа или нет.
Создан ли аналогичный файл блокировки в Windows?
Если нет, то каковы различные способы в Python, с помощью которых мы можем определить, запущен процесс или нет?
Я использую python 2.7 и интерфейс iTunes COM .
Если Вы тестируете приложение с, Ведут себя, можно использовать 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 секунд.