我正在尝试使用线程在后台运行 python http 服务器。我遇到了几个执行以下操作的参考:
import threading
import http.server
import socket
from http.server import HTTPServer, SimpleHTTPRequestHandler
debug = True
server = http.server.ThreadingHTTPServer((socket.gethostname(), 6666), SimpleHTTPRequestHandler)
if debug:
print("Starting Server in background")
thread = threading.Thread(target = server.serve_forever)
thread.daemon = True
thread.start()
else:
print("Starting Server")
print('Starting server at http://{}:{}'.format(socket.gethostname(), 6666))
server.serve_forever()
当 thread.daemon 设置为True时,程序将在不启动服务器的情况下完成(端口 6666 上没有运行)。当我将 thread.daemon 设置为False时,它会在前台启动服务器并阻止终端,直到我手动将其杀死。
关于如何使这项工作的任何想法?