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



我有一个脚本,其中提供了运行进程的选项。我不是在谈论一个可执行文件,而是在谈论两个 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"]),将打开一个新窗口,但随后下面描述的问题适用。

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

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

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

job1 &
job2 &
wait

要控制日志文件的大小,请参阅此问题和我的答案,了解对有行为和没有行为的应用程序执行此操作的方法。

最新更新