Извините, если этот вопрос задавался 100 раз, к сожалению, я не нашел его, если бы он был.Я ищу написать скрипт на Python, который будет вызывать фоновый процесс и следить за его завершением.Я видел команду os.system, которая сейчас рекомендуется использовать subprocess.call, но, похоже, это блокирует программу до завершения процесса.
Моя конечная цель - получить следующее:
1) Программа запускается и начинает обрабатывать информацию о пении
2) В середине программы запускается программа Windows DOS, которая должна будет выполняться одновременно
3) Программа продолжает работать и продолжает обработкуданные.
4) Программа контролирует программу DOS и, когда она выходит, а затем отправляет окончательную информацию.Но программа DOS должна была завершиться, чтобы выполнить этот шаг.
Если бы кто-то мог указать мне правильное направление, это было бы здорово.
Дополнительная информация: Я пытаюсьиспользовать процессор Python, встроенный в Securecrt.Похоже, что он прекрасно открывает окно CMD для программы, но не выводит никаких промежуточных команд (только enable в этом примере), пока я не уничтожу подпроцесс.
import os
import subprocess
def Main()
crt.Screen.Synchronous = True
VMCOMMAND = '\"C:\\Program Files\\VMWare\\VMware OVF Tool\\ovftool.exe\" ' + '--name=test' + ' C:\\temp\\test.ova' + ' vi://root:test@1.1.1.1'
from subprocess import Popen
p = Popen(VMCOMMAND)
crt.Screen.Send(chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
crt.Screen.Send("enable" + chr(13))
returncode = p.wait()
crt.Screen.Send("should not see enable" + chr(13))
Main ()