使用Tornado web关闭端口

2024-09-30 14:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个Tornado web服务器来发送GET和POST请求。我希望能够关闭它做修改,并在完成测试时启动它。但我不能,所用的端口永远被使用。。。在

def startTornado():
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    application.listen(80)
    tornado.ioloop.IOLoop.instance().start()
    print "Server is running"

def stopTornado():
    ioloop = tornado.ioloop.IOLoop.instance()
    ioloop.add_callback(ioloop.stop)
    print "Asked Tornado to exit"

if __name__ == "__main__":
    #stopTornado()
    startTornado()

我在网上查了所有的答案,但没用。在

^{pr2}$

不要关闭端口。它仍在使用:

TCP    0.0.0.0:80            PC-1:0            LISTENING
[python.exe]

有人有主意吗?在


Tags: 端口instance服务器webgetapplicationdefpost
1条回答
网友
1楼 · 发布于 2024-09-30 14:24:09

要关闭端口,必须调用HTTPServer.close(),而不是IOLoop.stop()(已停止的IOLoop可以重新启动)。这意味着使用

server = HTTPServer(application)
server.listen(80)

而不是Application.listen便利方法。在

相关问题 更多 >