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

Получение сведений о процессах, модуль multiprocessing в Python.

Функции модуля, для получения сведений о запущенных процессах.

Содержание:

multiprocessing.active_children() :

Функция multiprocessing.active_children() возвращает список всех живых дочерних элементов текущего процесса.

multiprocessing.cpu_count() :

Функция multiprocessing.cpu_count() возвращает количество имеющихся ядер процессора на машине/сервере.

multiprocessing.current_process() :

multiprocessing.parent_process() :

multiprocessing.freeze_support() :

Вызов функции нужно добавлять сразу после строки if __name__ == ‘__main__’ основного модуля. Например:

Вызов multiprocessing.freeze_support() не имеет никакого эффекта, кроме как в Windows. Кроме того, если модуль нормально запускается интерпретатором Python в Windows (программа не была заморожена), то freeze_support() не нужна.

multiprocessing.get_all_start_methods() :

Функция multiprocessing.get_all_start_methods() возвращает список поддерживаемых методов запуска, первый из которых используется по умолчанию.

multiprocessing.get_context(method=None) :

Объекты контекста позволяют использовать несколько методов запуска в одной программе.

multiprocessing.get_start_method(allow_none=False) :

Функция multiprocessing.get_start_method() возвращает имя метода запуска, используемого для запуска процессов.

multiprocessing.set_executable() :

Для встраиваемых программ, вероятно, потребуется что-то вроде:

прежде чем они смогут создавать дочерние процессы.

multiprocessing.set_start_method(method) :

Обратите внимание, что функция должна вызываться не более одного раза и должна быть защищена внутри блока if __name__ == ‘__main__’ основного модуля.

Источник

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

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

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

Существует ли аналогичный файл блокировки, созданный в Windows?

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

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

Вы не можете полагаться на блокировку файлов в Linux или Windows. Я бы просто укусил пулю и перебрал все работающие программы. Я правда не верю, что это будет так “дорого”, как вы думаете. psutil – превосходный кроссплатформенный кабель модуля Python для перечисления всех запущенных программ в системе.

и теперь вы можете сделать:

Чтобы не вызывать это несколько раз и иметь обзор всех процессов таким образом, вы можете сделать что-то вроде:

Файлы блокировки обычно не используются в Windows (и редко в Unix). Обычно, когда программа Windows хочет увидеть, что другой экземпляр уже запущен, он вызовет FindWindow с известным названием или именем класса.

Вырез из примера вывода:

Вы были бы довольны тем, что ваша команда Python запускает другую программу для получения информации?

Если это так, я бы посоветовал вам взглянуть на PsList и все его варианты. Например, следующее будет сообщать вам о любом запущенном процессе iTunes

Если вы можете понять, как интерпретировать результаты, это, надеюсь, вам поможет.

Edit:

Когда я не запускаю iTunes, я получаю следующее:

С запуском itunes я получаю эту дополнительную строку:

Я обнаружил, что имя класса окна для значка в Dropboxbox было DropboxTrayIcon, используя Autohotkey Window Spy.

Источник

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

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

Существует ли аналогичный файл блокировки, созданный в Windows?

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

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

12 ответов

Часть примера вывода:

Это прекрасно работает

И теперь вы можете сделать:

Чтобы не вызывать это несколько раз и иметь обзор всех процессов таким образом, вы можете сделать что-то вроде:

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

timeout если принудительно восстановить соединение с приложением в течение 5 секунд.

Будете ли вы счастливы, если ваша команда Python запустит другую программу для получения информации?

Если вы можете понять, как интерпретировать результаты, надеюсь, это поможет вам.

Изменить:

Когда я не запускаю iTunes, я получаю следующее:

С запущенным itunes я получаю еще одну строку:

win32ui.FindWindow(classname, None) возвращает дескриптор окна, если найдено какое-либо окно с данным именем класса. Это повышает window32ui.error в противном случае.

Я обнаружил, что имя класса окна для иконки на панели задач Dropbox было DropboxTrayIcon с помощью Autohotkey Window Spy.

Источник

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

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

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

Существует ли аналогичный файл блокировки, созданный в Windows?

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

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

ОТВЕТЫ

Ответ 1

Ответ 2

и теперь вы можете сделать:

Чтобы не вызывать это несколько раз и иметь обзор всех процессов таким образом, вы можете сделать что-то вроде:

Ответ 3

Файлы блокировки обычно не используются в Windows (и редко в Unix). Обычно, когда программа Windows хочет увидеть, что другой экземпляр уже запущен, он вызовет FindWindow с известным названием или именем класса.

Ответ 4

Вырез из примера вывода:

Ответ 5

Вы были бы довольны тем, что ваша команда Python запускает другую программу для получения информации?

Если это так, я бы посоветовал вам взглянуть на PsList и все его варианты. Например, следующее будет сообщать вам о любом запущенном процессе iTunes

Если вы можете понять, как интерпретировать результаты, это, надеюсь, вам поможет.

Edit:

Когда я не запускаю iTunes, я получаю следующее:

С запуском itunes я получаю эту дополнительную строку:

Ответ 6

Я обнаружил, что имя класса окна для значка в Dropboxbox было DropboxTrayIcon, используя Autohotkey Window Spy.

Ответ 7

Ответ 8

Если вы не можете полагаться на имя процесса, например, скрипты python, которые всегда будут иметь имя python.exe. Если этот метод очень удобен,

проверить документы для получения дополнительной информации http://psutil.readthedocs.io/en/latest/#psutil.pid_exists

Ответ 9

Это хорошо работает

Ответ 10

Ответ 11

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

Источник

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

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

есть ли аналогичный файл блокировки, созданный в Windows?

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

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

9 ответов

вы не можете полагаться на файлы блокировки в Linux или Windows. Я бы просто укусил пулю и перебрал все запущенные программы. Я действительно не верю, что это будет так «дорого», как вы думаете. psutil является отличным кросс-платформенный модуль python кабель перечисления всех запущенных программ в системе.

файлы блокировки обычно не используются в Windows (и редко в Unix). Обычно, когда программа Windows хочет узнать, запущен ли уже другой экземпляр, она вызывает FindWindow С известным названием или именем класса.

win32ui.FindWindow(classname, None) возвращает дескриптор окна, если окно с заданным именем класса. Он поднимает window32ui.error иначе.

я обнаружил, что имя класса окна для значка в трее Dropbox было DropboxTrayIcon с помощью AutoHotkey Window Spy.

и теперь вы можете сделать:

чтобы избежать вызова этого несколько раз и иметь обзор всех процессов таким образом, вы могли бы сделать что-то вроде:

фрагмент вывода примера:

Вы были бы счастливы, если бы ваша команда Python запускала другую программу для получения информации?

если это так, я бы предложил вам взглянуть на программа pslist и все его варианты. Например, следующее расскажет вам о любом запущенном процессе iTunes

если вы можете понять, как интерпретировать результаты, это, надеюсь, поможет вам.

Edit:

когда я не запуск iTunes, я получаю следующий:

С itunes работает, я получаю эту дополнительную строку:

однако следующая команда выводит информацию только о самой программе iTunes, т. е. с помощью :

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *