Python3:如何关闭由http.server打开的连接?

时间:2018-08-18 15:30:43

标签: python python-3.x localhost port

我一直在使用http.server的文档并运行代码:

def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
    server_address = ('', 8000)
    httpd = server_class(server_address, handler_class)
    httpd.serve_forever()

现在我无法关闭在端口8000上运行的服务器,如何关闭它?

2 个答案:

答案 0 :(得分:1)

您可以使用^C(control + c)关闭python服务器

或在代码中使用httpd.shutdown()将其关闭。

在以下位置查看详细答案

https://stackoverflow.com/a/42763796/10241547

答案 1 :(得分:1)

HTTPServer是TCPServer类的子类

执行C函数时,它将定期检查HashedGraph变量的值。如果其值为True,则serve_forever()函数将退出其主循环。

__shutdown_request方法将该变量设置为True,从而启动循环中断。