gpt4 book ai didi

python - 从 python 脚本的多个终端窗口运行多个命令

转载 作者:行者123 更新时间:2023-12-04 03:10:44 27 4
gpt4 key购买 nike

我有一个问题,我需要编写一个python脚本,它基本上打开一个终端窗口并在其中启动一个节点js服务器,然后打开另一个终端窗口并在其中启动一个java程序。

如果我运行两个 subprocess.call() 函数,它们会在同一个终端窗口中运行。

有没有办法做到这一点?

谢谢。:)

最佳答案

使用 subprocess.Popen:

这将为每个机器人创建新窗口并在其中运行程序。 python3 的 -i 选项是在 TestBot3.py 脚本完成后使窗口具有交互性。

from subprocess import Popen, PIPE

bot1 = Popen(["lxterminal", "-e", "python3", "-i", "TestBot1.py"], stdout=PIPE, stderr=PIPE, stdin=PIPE)
bot2 = Popen(["lxterminal", "-e", "python3", "-i", "TestBot2.py"], stdout=PIPE, stderr=PIPE, stdin=PIPE)
bot3 = Popen(["lxterminal", "-e", "python3", "-i", "TestBot3.py"], stdout=PIPE, stderr=PIPE, stdin=PIPE)

或者您可以使用 from subprocess import call
call(["python3", "TestBot1.py"])
call(["python3", "TestBot2.py"])
call(["python3", "TestBot3.py"])

要为每个打开终端,您可以使用 gnome-terminal 和 -e 在终端内执行此选项的参数:
call(['gnome-terminal', '-e', "python3 TestBot1.py"])
call(['gnome-terminal', '-e', "python3 TestBot2.py"])
call(['gnome-terminal', '-e', "python3 TestBot3.py"])

关于python - 从 python 脚本的多个终端窗口运行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45520553/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com