Уведомления

Группа в Telegram: @pythonsu

#1 Май 20, 2019 00:39:00

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess. Не прерывный контроль за выполнением программы

Цель. Не прерывный контроль за выполнением программы
На данный момент получилось получить статус процесса в момент его завершения

 import subprocess
def start_programm(url_for_start_programm):
    try:
        program = url_for_start_programm
        process = subprocess.Popen(program)
        code = process.wait()
        print(code) # 0
    except Exception as ex:
        print ("Ошибка при запуске программы")
        print(ex)
        return False
    return True
start_programm('notepad.exe')

Отредактировано VIRTOK (Май 20, 2019 00:39:19)

Офлайн

#2 Май 20, 2019 11:02:36

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

subprocess. Не прерывный контроль за выполнением программы

VIRTOK
code = process.wait()
ну вот здесь вы говорите “Подожди окончания выполнения программы и верни код завершения программы”
Видимо вам не надо этого делать. К то му же вы не люхяснили что значит контроль? ЧТо вы хотите конкретно? Но технически все ответы есть в документации к модулю subprocess



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Май 21, 2019 08:58:11

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess. Не прерывный контроль за выполнением программы

Мне нужно постоянно проверять работает ли в данный момент программа, которую я запустил

Офлайн

#4 Май 21, 2019 09:09:20

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

subprocess. Не прерывный контроль за выполнением программы

VIRTOK
Мне нужно постоянно проверять работает
Работает, это значит выполняет свои функции. Может получиться что вы жмете кнопку а нужного эффекта нет. Или например программа зациклилась. Такое проверить принципиально нельзя.

а так первое что есть
https://docs.python.org/3/library/subprocess.html
“Popen.poll()
Check if child process has terminated. Set and return returncode attribute. Otherwise, returns None.”



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version