Python:在不同终端上fork和exec一个进程
我正在尝试模拟一个由多个客户端和服务器组成的网络。我写了一个叫做node.py的文件,里面包含了客户端和服务器的代码。我想运行多个node.py的实例,但我不想手动一个一个去启动,所以我写了另一个文件spawn.py,用来通过fork和exec来启动多个node.py的实例。不过,我需要在不同的终端(shell)上运行每个node.py的实例,这样我才能方便地调试每个节点内部发生的事情。
我该怎么做呢?请帮帮我。
补充说明:我在使用Linux系统,Python版本是2.5,并且我想在同一台机器上运行所有的进程。
2 个回答
0
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...
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
1
如果你想要“真正的”(伪的;-) 终端,并且你在使用X11(几乎所有Linux的图形界面都是这样;-),你可以用 xterm -e python node.py
来替代简单的 python node.py
。当然,你可以把 xterm
替换成你喜欢的任何终端模拟器程序(我相信它们都有类似于老版xterm的 -e
的命令行选项,用来指定要运行哪个程序!-)。