gpt4 book ai didi

python - 在不同的 shell 窗口中启动 2 个并行进程

转载 作者:行者123 更新时间:2023-12-04 19:17:44 24 4
gpt4 key购买 nike

我有两个功能:都用于在特定端口上启动服务器。就像是:

from Multiprocessing import Process
import sys

def start_server1(port1):
os.system("server1 --port %s" % port1)
def start_server2(port2):
os.system("server2 --port %s" % port2)

port1 = arg.sys[1]
port2 = arg.sys[2]
p1 = Process(target=start_server1, args=(port1,))
p2 = Process(target=start_server2, args=(port2,))

这允许我从 terminal 启动两个服务器在我的脚本中
>>>python servers.py 8000 8001
但是预计会为两台服务器显示很多痕迹,我想分别查看它们。所以问题是:如何使脚本从一个 terminal 执行。 shell ,进程 p1将在新 shell 和第二个进程中启动 p2 ?

感谢您的建议和建议

最佳答案

您可以重定向文件中每个进程的输出。

os.system("server1 --port %s > server1.log" % port1)

然后,在单独的 shell 中对每个日志运行 tail 命令来监控它们。
tail -f server1.log

但是,如果您不想将这些进程的输出存储在文件中并想要单独的 shell 解决方案,则可以使用“xterm -e”选项。

xterm 的 -e 选项允许在单独的 xterm 窗口中运行 shell 命令。
os.system('xterm -e "server1 --port %s"'% port)

关于python - 在不同的 shell 窗口中启动 2 个并行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31603786/

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