运行辅助python脚本时:
>是否可以在新终端中运行subprocess.Popen或subprocess.call甚至execfile? (例如,在与运行脚本的当前终端不同的终端中).
>或者,如果在运行程序(主程序)之前,我先打开两个终端,然后可以将辅助脚本指向第二个终端吗? (因此以某种方式获取开放终端的ID,然后使用其中的特定终端来执行子流程).
例如,要运行的两个子进程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
框架(Ubuntu,python 2.7)