Python:fork并执行一个进程以在不同的终端上运行

发布于 2024-08-12 07:27:16 字数 265 浏览 5 评论 0原文

我正在尝试模拟由多个客户端和服务器组成的网络。我编写了包含客户端-服务器代码的node.py。我想运行多个实例node.py。但我不想手动执行此操作,因此我编写了另一个文件spawn.py,它使用fork和exec生成node.py的多个实例。但是,我需要在不同的终端(shell)上运行 node.py 的每个实例,以便我可以轻松调试每个节点内发生的情况。 我们怎样才能做到这一点?请帮忙。

编辑:我正在linux上工作并使用python 2.5和 我想在同一个盒子上运行所有进程

I am trying to simulate a a network consisting of several clients and servers. I have written node.py which contains client-server code. I want to run multiple instances node.py. But I don't want to do it manually so I have written another file spawn.py which spawns multiple instances of node.py using fork and exec. However, I need to run each instance of node.py on different terminal(shell) so that I can easily debug what is happening inside each node.
How can we do that? Please help.

EDIT : I am working on linux and using python 2.5 and
I want to run all processes on the same box

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离去的眼神 2024-08-19 07:27:16

如果您想要“真实”(伪-;-)终端,并且正在使用 X11(Linux 上的几乎每个 GUI 界面都是;-),您可以执行 xterm -e python node.py 而不仅仅是python node.py - 当然,可以替换 xterm 任何您喜欢的终端仿真器程序(我确信它们都有相当于旧版 xterm 的命令行开关) code>-e,指定他们应该运行什么程序!-)。

If you want "real" (pseudo-;-) terminals, and are using X11 (almost every GUI interface on Linux does;-), you could exec xterm -e python node.py instead of just python node.py -- substitute for xterm whatever terminal emulator program you prefer, of course (I'm sure they all have command-line switches equivalent to good old xterm's -e, to specify what program they should run!-).

堇年纸鸢 2024-08-19 07:27:16
shell #1:
for p in 1 2 3 4 5
do
    python node.py > $p.log 2>&1
done


shell #2:
tail -F 1.log 

shell #3:
tail -F 2.log 

etc...
shell #1:
for p in 1 2 3 4 5
do
    python node.py > $p.log 2>&1
done


shell #2:
tail -F 1.log 

shell #3:
tail -F 2.log 

etc...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文