Как предотвратить подпроцесс subpcess.popen в Windows?

У меня есть какая-то любопытная проблема Python (3.x):
В основном я просто хочу создать таймер, который вызывает внешнюю программу (.exe) в предопределенное время – (упрощенный ниже, дополнительно есть обратный отсчет):

time.sleep(y) x=popen("pathto.exe") 

Если я тестирую свой код, все работает точно так же, как я хочу, НО только для маленьких y. Для больших y (подождите больше нескольких часов) Python не выполняет команду popen (но там также есть ошибки). Любой другой «нормальный» код после команды popen (например, уведомление по электронной почте в моем случае) отлично работает.

Я не совсем уверен, что это Windows (ими работает 64-разрядная Windows 7, отключена все функции энергосбережения, о которых я знаю) или проблема с Python, но пока не смогли найти решение:
Я попробовал несколько дополнительных аргументов для popen (Shell / no Shell и т. Д.) И попытался открыть программу / определить X перед периодом ожидания и снова закрыть ее, но ничего не удалось решить, к сожалению.

Большое спасибо!

Изменить: более подробный пример кода:

 while 1: if time.mktime(trade2)<=time.time(): break else: dif=time.mktime(trade2)-time.time() # this is just for a visible countdown aus=time.gmtime(dif) sys.stdout.flush() print("\b\b\b\b\b\b\b\b\b", end="\r") print(aus[3],aus[4],aus[5], sep=":",end="") time.sleep(0.5) x=subprocess.Popen("c:/xyz/abc.exe") print("Sending Mail...") 

Функция print () ВСЕГДА выполняется, как и ожидалось, Popen, только если обратный отсчет меньше, чем приблизительно 1-2 часа.

One Solution collect form web for “Как предотвратить подпроцесс subpcess.popen в Windows?”

У Sleep нет гарантированного времени пробуждения. Согласно документу сон может длиться дольше или меньше времени, чем требуется. Я ответил на этот вопрос раньше на SO, с альтернативами.

  • Как я могу вызвать robocopy в скрипте python для массового копирования нескольких папок?
  • Создание окон Tkinter на панели задач
  • Сценарий IDLE Python не показывает вывод подпроцесса, но cmd.exe делает
  • «easy_install» не распознается как внутренняя или внешняя команда, оперативная программа или командный файл
  • выполнить файл python глобально из любого пути - windows7
  • Редактировать с помощью контекстного меню IDLE (Python GUI) в Windows 7 7
  • Python: как начать процесс с разрешения администратора?
  • Помогите мне понять, почему Unicode работает иногда с Python
  • Разбивка командной строки Python (для «scrapy»)
  • Управление процессами Windows 7 / Vista - как запустить внешнюю программу после длительного простоя?
  • Сценарий Python не работает с двойным щелчком
  •  
    Interesting Posts for Van-Lav

    Не удается передать аргументы объекту ActiveX COM с помощью PyQt4

    Поле модели Django по умолчанию от метода модели

    Подсчет числа определенных слов в кадре данных панд

    Функция измерения времени Python

    Selenium Desired Capabilities – установить дескрипторыAlerts для драйвера PhantomJS

    Удалить повторяющиеся символы из слов

    Передача целочисленных списков в python

    уникальный или множественный идентификатор словаря?

    может ли NLTK / pyNLTK работать «на язык» (т.е. не-английский) и как?

    Выполнять команды python, переданные как строки в командной строке, используя python -c

    кодек ascii не может декодировать ошибку при использовании pip для установки uwsgi

    импортировать локальную функцию из модуля, размещенного в другом каталоге с относительным импортом в ноутбуке jupyter, используя python3

    Можно ли интегрировать Python или Perl с Ruby?

    Подавление обработки строки как iterable

    Нужно создать слоистый dict из плоского

    Python - лучший язык программирования в мире.