以下代码:
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
def start(app, port=8080):
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(port)
try:
IOLoop.instance().start()
except keyboardInterrupt:
print "stop"
IOLoop.instance().stop()
我想在Windows中使用CTRL+C或CTRL+PauseBreak来停止tornado服务器,但在CMD中,CTRL+C不会停止它。在
Ctrl+PauseBreak会停止命令并终止python.exe,但不显示“停止”。在
如何在windows中输入键盘中断?在
在Windows上,
select()
函数(IOLoop在内部使用)是不可中断的(http://www.velocityreviews.com/forums/t722370-windows-select-select-timeout-and-keyboardinterrupt.html)。最简单的解决方法是启动一个PeriodicCallback
(它不需要做任何事情,只是一个空函数);当回调被触发时,IOLoop将唤醒,并引发KeyboardInterrupt异常。在相关问题 更多 >
编程相关推荐