Python:fork并执行一个进程以在不同的终端上运行
我正在尝试模拟由多个客户端和服务器组成的网络。我编写了包含客户端-服务器代码的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想要“真实”(伪-;-)终端,并且正在使用 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 justpython node.py
-- substitute forxterm
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!-).