我有一个脚本,其中提供了运行进程的选项。我不是在谈论一个可执行文件,而是在谈论两个 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
要控制日志文件的大小,请参阅此问题和我的答案,了解对有行为和没有行为的应用程序执行此操作的方法。