打开两个自己的终端,运行两个脚本并等待它们完成

时间:2014-11-20 15:06:18

标签: python linux bash subprocess

我有一个脚本,其中包括运行 进程 的选项。我不是在谈论一个可执行文件,而是关于需要在自己的终端中运行并在终端中生成输出的两个python脚本。

我已经考虑script1 = subprocess.call(["/dir/python","/dir/script1","param"]),或与/bin/bash相同,但这似乎在当前终端中运行python / bash - 而不是作为自己的窗口。

如果我script1 = subprocess.call(["/usr/bin/xterm","param to run bash and my script"]),则会打开一个新窗口,但随后会出现上述问题。

我遇到的另一个概念问题是,我需要等待两个脚本。因此,如果调用子流程可以工作,它会在第一个被调用时等待,直到它完成,然后启动第二个,但它们需要同时运行。

如何启动两个终端,每个终端都启动一个指定的脚本?

1 个答案:

答案 0 :(得分:1)

要运行命令并等待它们完成,请在后台运行它们,然后使用内置的wait shell告诉shell等待后台作业完成。

job1 &
job2 &

wait

要控制日志文件的大小,请参阅this questionmy answer,了解使用行为的应用程序和不行为的应用程序。