好的,所以这可能有点不正统,或者我只是愚蠢或两者兼而有之:)
我正在尝试一个非常简单的设置,我在一个实例中启动一个瓶子服务器,Process
并在另一个实例中启动一个小型 TFTP 服务器。
#!/usr/bin/env python
import bottle
import sys
import tftpy
from multiprocessing import Process
def main():
try:
t = Process(target=bottle.run(host='0.0.0.0', port=8080))
t.daemon = True
t.start()
t.join()
h = Process(target=tftpy.TftpServer('/srv/tftp').listen('0.0.0.0', 69))
h.start()
h.join()
except KeyboardInterrupt:
sys.stdout.write("Aborted by user.\n")
sys.exit(1)
if __name__ == "__main__":
main()
除非我完全疯了,否则我希望它们并行启动。实际上,发生的事情是瓶子启动并锁定了整个东西。如果我退出瓶子,TFTP 守护程序就会启动。
我还尝试了与threading
模块类似的方法,结果大致相同。
我究竟做错了什么?