При запуске вторичного питона script:
- Можно ли запустить
subprocess.Popen
илиsubprocess.call
или дажеexecfile
в новом терминале? (как в просто другом терминале, чем в текущем терминале, где выполняется script). - В качестве альтернативы, если перед запуском моей программы (основной) я сначала открываю два терминала, могу ли я затем указать вторичный script на второй терминал? (поэтому каким-то образом получить идентификатор открытых терминалов, а затем использовать определенный из них для выполнения подпроцесса).
Например, нужно сначала вызвать два подпроцесса, first.py
, только тогда вызывается вторая, second.py
. Поскольку два сценария first.py
и second.py
являются взаимозависимыми (как в first.py
переходит в режим ожидания, пока не выполняется second.py
, то first.py
возобновляется, и я не знаю, как сделать эту работу связи между их в терминах подпроцессов.)
import subprocess
command = ["python", "first.py"]
command2 = ["python", "second.py"]
n = 5
for i in range(n):
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
p2 = subprocess.Popen(command2, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while True:
output = p.stdout.readline().strip()
print output
if output == 'stop':
print 'success'
p.terminate()
p2.terminate()
break
Framework (Ubuntu, python 2.7)