わかりました、これは少し非正統的であるか、私がただ愚かであるか、またはその両方である可能性があります:)
あるインスタンスでボトル サーバーを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
モジュールでも同様のアプローチを試みましたが、ほぼ同じ結果が得られました。
私は何を間違っていますか?