Мне нужно запускать несколько программ одну за другой, каждая из которых запускается в окне консоли.Я хочу, чтобы окно консоли было видимым, но для каждой программы создается новое окно.Это раздражает, потому что каждое окно открывается в новой позиции, из которой закрывается другое, и крадет фокус при работе в Eclipse.
Это исходный код, который я использовал:
def runCommand( self, cmd, instream=None, outstream=None, errstream=None ):
proc = subprocess.Popen( cmd, stdin=instream, stdout=outstream, stderr=errstream )
while True:
retcode = proc.poll()
if retcode == None:
if mAbortBuild:
proc.terminate()
return False
else:
time.sleep(1)
else:
if retcode == 0:
return True
else:
return False
Я перешел к открытию командной строки с помощью «cmd» при вызове subprocess.Popen, а затем вызывая proc.stdin.write (b'program.exe \ r \ n ').Кажется, это решает проблему с одним командным окном, но теперь я не могу сказать, когда первая программа завершена, и я могу запустить вторую.Я хочу остановить и опросить файл журнала первой программы перед запуском второй программы.
Какие-либо советы о том, как мне этого добиться?Есть ли другой вариант запуска программ в одном окне, которого я еще не нашел?